1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.ear.util;
20
21 import java.util.HashMap;
22 import java.util.Map;
23
24
25
26
27
28
29 public class JavaEEVersion implements Comparable<JavaEEVersion> {
30
31 private static final String VERSION_1_3 = "1.3";
32
33 private static final String VERSION_1_4 = "1.4";
34
35 private static final String VERSION_5 = "5";
36
37 private static final String VERSION_6 = "6";
38
39 private static final String VERSION_7 = "7";
40
41 private static final String VERSION_8 = "8";
42
43 private static final String VERSION_9 = "9";
44
45 private static final String VERSION_10 = "10";
46
47 private static final String VERSION_11 = "11";
48
49
50
51 private static final Map<String, JavaEEVersion> VERSION_MAP = new HashMap<>();
52
53
54
55
56 public static final JavaEEVersion ONE_DOT_THREE = new JavaEEVersion(Integer.valueOf(0), VERSION_1_3);
57
58
59
60
61 public static final JavaEEVersion ONE_DOT_FOUR = new JavaEEVersion(Integer.valueOf(1), VERSION_1_4);
62
63
64
65
66 public static final JavaEEVersion FIVE = new JavaEEVersion(Integer.valueOf(2), VERSION_5);
67
68
69
70
71 public static final JavaEEVersion SIX = new JavaEEVersion(Integer.valueOf(3), VERSION_6);
72
73
74
75
76 public static final JavaEEVersion SEVEN = new JavaEEVersion(Integer.valueOf(4), VERSION_7);
77
78
79
80
81 public static final JavaEEVersion EIGHT = new JavaEEVersion(Integer.valueOf(5), VERSION_8);
82
83
84
85
86 public static final JavaEEVersion NINE = new JavaEEVersion(Integer.valueOf(6), VERSION_9);
87
88
89
90
91 public static final JavaEEVersion TEN = new JavaEEVersion(Integer.valueOf(7), VERSION_10);
92
93
94
95
96 public static final JavaEEVersion ELEVEN = new JavaEEVersion(Integer.valueOf(8), VERSION_11);
97
98 private final Integer index;
99
100 private final String version;
101
102 private JavaEEVersion(Integer index, String version) {
103 this.index = index;
104 this.version = version;
105 VERSION_MAP.put(version, this);
106 }
107
108
109
110
111
112
113 public static JavaEEVersion getJavaEEVersion(String paramVersion) throws InvalidJavaEEVersion {
114 if (!isValid(paramVersion)) {
115 throw new InvalidJavaEEVersion("Invalid version [" + paramVersion + "]", paramVersion);
116 }
117 return VERSION_MAP.get(paramVersion);
118 }
119
120
121
122
123
124
125 public String getVersion() {
126 return version;
127 }
128
129
130
131
132
133
134
135 public boolean ge(JavaEEVersion paramVersion) {
136 return this.compareTo(paramVersion) >= 0;
137 }
138
139
140
141
142
143
144
145 public boolean gt(JavaEEVersion paramVersion) {
146 return this.compareTo(paramVersion) > 0;
147 }
148
149
150
151
152
153
154
155 public boolean eq(JavaEEVersion paramVersion) {
156 return this.compareTo(paramVersion) == 0;
157 }
158
159
160
161
162
163
164
165 public boolean le(JavaEEVersion paramVersion) {
166 return this.compareTo(paramVersion) <= 0;
167 }
168
169
170
171
172
173
174
175 public boolean lt(JavaEEVersion paramVersion) {
176 return this.compareTo(paramVersion) < 0;
177 }
178
179
180
181
182
183
184
185 private static boolean isValid(String paramVersion) {
186 if (paramVersion == null) {
187 throw new NullPointerException("version cannot be null.");
188 }
189
190 return VERSION_1_3.equals(paramVersion)
191 || VERSION_1_4.equals(paramVersion)
192 || VERSION_5.equals(paramVersion)
193 || VERSION_6.equals(paramVersion)
194 || VERSION_7.equals(paramVersion)
195 || VERSION_8.equals(paramVersion)
196 || VERSION_9.equals(paramVersion)
197 || VERSION_10.equals(paramVersion)
198 || VERSION_11.equals(paramVersion);
199
200 }
201
202
203 public int compareTo(JavaEEVersion otherVersion) {
204 if (otherVersion == null) {
205 throw new NullPointerException("other object to compare to could not be null.");
206 }
207 return index.compareTo(otherVersion.index);
208 }
209 }