BarcodeUtils.java
/*
* Copyright 2000-2014 Namics AG. All rights reserved.
*/
package com.namics.commons.random.support;
/**
* BarcodeUtils.
*
* @author pnueesch
* @since 08.05.14 13:00
*/
public class BarcodeUtils {
public static String createEanCheckSumDigit(String value) {
try {
int total = 0;
for (int i = 0; i < value.length(); i++) {
int digit = Integer.parseInt(value.substring(value.length() - i - 1, value.length() - i));
total += digit * ((i % 2 == 1) ? 1 : 3);
}
int checkSum = 10 - total % 10;
return String.valueOf(checkSum % 10);
} catch (NumberFormatException nfe) {
return null;
}
}
public static String createIsbn10CheckSumDigit(String value) {
try {
int total = 0;
for (int i = 1; i <= value.length(); i++) {
int digit = Integer.parseInt(value.substring(i - 1, i));
total += i * digit;
}
int modulo11 = total % 11;
return (modulo11 != 10) ? String.valueOf(modulo11) : "X";
} catch (NumberFormatException nfe) {
return null;
}
}
}