@@ -18,31 +18,33 @@ public EAN13(String code, String[] weighPrefixes, String[] pricePrefixes, String
1818 throw new IllegalArgumentException ("Not a valid EAN13 code" );
1919 }
2020
21- if (isEmbeddedDataOk ()) {
22- for (String prefix : weighPrefixes ) {
23- if (code .startsWith (prefix )) {
24- hasWeighData = true ;
25- }
21+ for (String prefix : weighPrefixes ) {
22+ if (code .startsWith (prefix )) {
23+ hasWeighData = true ;
2624 }
25+ }
2726
28- for (String prefix : pricePrefixes ) {
29- if (code .startsWith (prefix )) {
30- hasPriceData = true ;
31- }
27+ for (String prefix : pricePrefixes ) {
28+ if (code .startsWith (prefix )) {
29+ hasPriceData = true ;
3230 }
31+ }
3332
34- for (String prefix : amountPrefixes ) {
35- if (code .startsWith (prefix )) {
36- hasAmountData = true ;
37- }
33+ for (String prefix : amountPrefixes ) {
34+ if (code .startsWith (prefix )) {
35+ hasAmountData = true ;
3836 }
37+ }
3938
39+ if (isEmbeddedDataOk ()) {
4040 lookupCode = code .substring (0 , 6 ) + "0000000" ;
41+ embeddedData = Integer .parseInt (code .substring (7 , 12 ));
4142 } else {
4243 lookupCode = code ;
44+ hasWeighData = false ;
45+ hasAmountData = false ;
46+ hasPriceData = false ;
4347 }
44-
45- embeddedData = Integer .parseInt (code .substring (7 , 12 ));
4648 }
4749
4850 @ Override
@@ -78,7 +80,7 @@ public boolean hasEmbeddedData(){
7880 @ Override
7981 public boolean isEmbeddedDataOk () {
8082 if (!hasEmbeddedData ()){
81- return true ;
83+ return false ;
8284 }
8385
8486 String code = getCode ();
@@ -109,9 +111,7 @@ public static int checksum(String ean) {
109111 public static boolean checkChecksum (String ean ) {
110112 if (isValidString (ean )) {
111113 int d = Character .digit (ean .charAt (ean .length () - 1 ), 10 );
112- if (d == checksum (ean .substring (0 , ean .length () - 1 ))) {
113- return true ;
114- }
114+ return d == checksum (ean .substring (0 , ean .length () - 1 ));
115115 }
116116
117117 return false ;
@@ -153,19 +153,13 @@ private static boolean allDigits(String str) {
153153 }
154154
155155 private static boolean isValidString (String ean ) {
156- if (ean != null && ean .length () == 13 && allDigits (ean )) {
157- return true ;
158- }
156+ return ean != null && ean .length () == 13 && allDigits (ean );
159157
160- return false ;
161158 }
162159
163160 public static boolean isEan13 (String ean ) {
164- if (isValidString (ean ) && checkChecksum (ean )) {
165- return true ;
166- }
161+ return isValidString (ean ) && checkChecksum (ean );
167162
168- return false ;
169163 }
170164
171165 private static SparseIntArray check5plus = new SparseIntArray ();
0 commit comments