info.java: remove date and hosts fields.
[olsrd.git] / lib / info.java / org.olsr.v1.info.api / src / org / olsr / v1 / info / api / dto / JsonInfoVersionEntry.java
1 package org.olsr.v1.info.api.dto;
2
3 import org.olsr.v1.info.api.commands.InfoCommand;
4 import org.olsr.v1.info.api.util.CompareUtils;
5 import org.osgi.annotation.versioning.ProviderType;
6
7 import com.fasterxml.jackson.annotation.JsonProperty;
8
9 /**
10  * A version entry in the {@link InfoCommand#VERSION} jsoninfo OLSRd plugin response
11  */
12 @ProviderType
13 public class JsonInfoVersionEntry implements Comparable<JsonInfoVersionEntry> {
14   private String version        = "";
15   private String gitDescriptor  = "";
16   private String gitSha         = "";
17   private String releaseVersion = "";
18   private String sourceHash     = "";
19
20   /**
21    * @return the full version
22    */
23   public String getVersion() {
24     return this.version;
25   }
26
27   /**
28    * @param version the full version to set
29    */
30   @JsonProperty("version")
31   public void setVersion(final String version) {
32     if (version == null) {
33       this.version = "";
34     } else {
35       this.version = version;
36     }
37   }
38
39   /**
40    * @return the git descriptor
41    */
42   public String getGitDescriptor() {
43     return this.gitDescriptor;
44   }
45
46   /**
47    * @param gitDescriptor the git descriptor to set
48    */
49   @JsonProperty("gitDescriptor")
50   public void setGitDescriptor(final String gitDescriptor) {
51     if (gitDescriptor == null) {
52       this.gitDescriptor = "";
53     } else {
54       this.gitDescriptor = gitDescriptor;
55     }
56   }
57
58   /**
59    * @return the git SHA
60    */
61   public String getGitSha() {
62     return this.gitSha;
63   }
64
65   /**
66    * @param gitSha the git SHA to set
67    */
68   @JsonProperty("gitSha")
69   public void setGitSha(final String gitSha) {
70     if (gitSha == null) {
71       this.gitSha = "";
72     } else {
73       this.gitSha = gitSha;
74     }
75   }
76
77   /**
78    * @return the release-train version
79    */
80   public String getReleaseVersion() {
81     return this.releaseVersion;
82   }
83
84   /**
85    * @param releaseVersion the release-train version to set
86    */
87   @JsonProperty("releaseVersion")
88   public void setReleaseVersion(final String releaseVersion) {
89     if (releaseVersion == null) {
90       this.releaseVersion = "";
91     } else {
92       this.releaseVersion = releaseVersion;
93     }
94   }
95
96   /**
97    * @return the source hash
98    */
99   public String getSourceHash() {
100     return this.sourceHash;
101   }
102
103   /**
104    * @param sourceHash the source hash to set
105    */
106   @JsonProperty("sourceHash")
107   public void setSourceHash(final String sourceHash) {
108     if (sourceHash == null) {
109       this.sourceHash = "";
110     } else {
111       this.sourceHash = sourceHash;
112     }
113   }
114
115   @Override
116   public int hashCode() {
117     final int prime = 31;
118     int result = 1;
119     result = (prime * result) + this.version.hashCode();
120     result = (prime * result) + this.gitDescriptor.hashCode();
121     result = (prime * result) + this.gitSha.hashCode();
122     result = (prime * result) + this.releaseVersion.hashCode();
123     result = (prime * result) + this.sourceHash.hashCode();
124
125     return result;
126   }
127
128   @Override
129   public boolean equals(final Object other) {
130     if (this == other) {
131       return true;
132     }
133     if (other == null) {
134       return false;
135     }
136     if (this.getClass() != other.getClass()) {
137       return false;
138     }
139
140     return (this.compareTo((JsonInfoVersionEntry) other) == 0);
141   }
142
143   @Override
144   public int compareTo(final JsonInfoVersionEntry other) {
145     if (other == null) {
146       return -1;
147     }
148
149     int result;
150
151     result = this.version.compareTo(other.version);
152     if (result != 0) {
153       return CompareUtils.clip(result);
154     }
155
156     result = this.gitDescriptor.compareTo(other.gitDescriptor);
157     if (result != 0) {
158       return CompareUtils.clip(result);
159     }
160
161     result = this.gitSha.compareTo(other.gitSha);
162     if (result != 0) {
163       return CompareUtils.clip(result);
164     }
165
166     result = this.releaseVersion.compareTo(other.releaseVersion);
167     if (result != 0) {
168       return CompareUtils.clip(result);
169     }
170
171     result = this.sourceHash.compareTo(other.sourceHash);
172     if (result != 0) {
173       return CompareUtils.clip(result);
174     }
175
176     return 0;
177   }
178
179   @Override
180   public String toString() {
181     final StringBuilder builder = new StringBuilder();
182     builder.append("JsonInfoVersionEntry [version=");
183     builder.append(this.version);
184     builder.append(", gitDescriptor=");
185     builder.append(this.gitDescriptor);
186     builder.append(", gitSha=");
187     builder.append(this.gitSha);
188     builder.append(", releaseVersion=");
189     builder.append(this.releaseVersion);
190     builder.append(", sourceHash=");
191     builder.append(this.sourceHash);
192     builder.append("]");
193     return builder.toString();
194   }
195 }