package com.manning.hsia.dvdstore;
import org.hibernate.search.bridge.StringBridge;
public class PadNumberBridge implements StringBridge {
private final int PAD = 5;
public String objectToString(Object value) {
if (value == null) return null;
int num = 0;
if (value instanceof Integer) {
num = (Integer) value;
} else {
throw new IllegalArgumentException("PadNumberBridge.class " +
"received a non-int type " + value.getClass());
}
return pad(num);
}
private String pad(int num) {
String rawInt = Integer.toString(num);
if (rawInt.length() > PAD)
throw new IllegalArgumentException(" integer too large to pad");
StringBuilder paddedInt = new StringBuilder();
for (int padIndex = rawInt.length(); padIndex < PAD; padIndex++)
paddedInt.append("0");
return paddedInt.append(rawInt).toString();
}
}