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 }