@@ -216,9 +216,16 @@ private static boolean isUriReference(String s) {
216216 }
217217 }
218218
219+ private static final int IPV4_OCTET_COUNT = 4 ;
220+ private static final int IPV4_OCTET_MAX_DIGITS = 3 ;
221+ private static final int IPV4_OCTET_MAX_VALUE = 255 ;
222+ private static final int DECIMAL_RADIX = 10 ;
223+ private static final int IPV6_HEXTET_COUNT = 8 ;
224+ private static final int IPV6_HEXTET_MAX_DIGITS = 4 ;
225+
219226 private static boolean isIpv4 (String s ) {
220227 String [] parts = s .split ("\\ ." , -1 );
221- if (parts .length != 4 ) {
228+ if (parts .length != IPV4_OCTET_COUNT ) {
222229 return false ;
223230 }
224231 for (String part : parts ) {
@@ -231,7 +238,7 @@ private static boolean isIpv4(String s) {
231238
232239 private static boolean isIpv4Octet (String part ) {
233240 int len = part .length ();
234- if (len == 0 || len > 3 ) {
241+ if (len == 0 || len > IPV4_OCTET_MAX_DIGITS ) {
235242 return false ;
236243 }
237244 if (len > 1 && part .charAt (0 ) == '0' ) {
@@ -243,9 +250,9 @@ private static boolean isIpv4Octet(String part) {
243250 if (c < '0' || c > '9' ) {
244251 return false ;
245252 }
246- n = n * 10 + (c - '0' );
253+ n = n * DECIMAL_RADIX + (c - '0' );
247254 }
248- return n <= 255 ;
255+ return n <= IPV4_OCTET_MAX_VALUE ;
249256 }
250257
251258 private static boolean isIpv6 (String s ) {
@@ -266,7 +273,7 @@ private static boolean isIpv6(String s) {
266273 right = new String [0 ];
267274 }
268275 int total = left .length + right .length ;
269- if (compressed ? total > 7 : total != 8 ) {
276+ if (compressed ? total > IPV6_HEXTET_COUNT - 1 : total != IPV6_HEXTET_COUNT ) {
270277 return false ;
271278 }
272279 return allHextets (left ) && allHextets (right );
@@ -283,7 +290,7 @@ private static boolean allHextets(String[] parts) {
283290
284291 private static boolean isHextet (String hextet ) {
285292 int len = hextet .length ();
286- if (len == 0 || len > 4 ) {
293+ if (len == 0 || len > IPV6_HEXTET_MAX_DIGITS ) {
287294 return false ;
288295 }
289296 for (int i = 0 ; i < len ; i ++) {
0 commit comments