950b65866385b8a2466bb89d9c4fdb9f1dc866eb
[jalview.git] / src / jalview / ext / ensembl / EnsemblInfo.java
1 package jalview.ext.ensembl;
2
3 /**
4  * A data class to model the data and rest version of one Ensembl domain,
5  * currently for rest.ensembl.org and rest.ensemblgenomes.org
6  * 
7  * @author gmcarstairs
8  */
9 class EnsemblInfo
10 {
11   /*
12    * The http domain this object is holding data values for
13    */
14   String domain;
15
16   /*
17    * The latest version Jalview has tested for, e.g. "4.5"; a minor version change should be
18    * ok, a major version change may break stuff 
19    */
20   String expectedRestVersion;
21
22   /*
23    * Major / minor / point version e.g. "4.5.1"
24    * @see http://rest.ensembl.org/info/rest/?content-type=application/json
25    */
26   String restVersion;
27
28   /*
29    * data version
30    * @see http://rest.ensembl.org/info/data/?content-type=application/json
31    */
32   String dataVersion;
33
34   /*
35    * true when http://rest.ensembl.org/info/ping/?content-type=application/json
36    * returns response code 200
37    */
38   boolean restAvailable;
39
40   /*
41    * absolute time when availability was last checked
42    */
43   long lastAvailableCheckTime;
44
45   /*
46    * absolute time when version numbers were last checked
47    */
48   long lastVersionCheckTime;
49
50   // flag set to true if REST major version is not the one expected
51   boolean restMajorVersionMismatch;
52
53   /*
54    * absolute time to wait till if we overloaded the REST service
55    */
56   long retryAfter;
57
58   /**
59    * Constructor given expected REST version number e.g 4.5 or 3.4.3
60    * 
61    * @param restExpected
62    */
63   EnsemblInfo(String theDomain, String restExpected)
64   {
65     domain = theDomain;
66     expectedRestVersion = restExpected;
67     lastAvailableCheckTime = -1;
68     lastVersionCheckTime = -1;
69   }
70
71 }