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