package org.tessell.model.properties;
import org.tessell.model.values.Value;
public class IntegerProperty extends AbstractProperty<Integer, IntegerProperty> {
private Property<String> asString = null;
public IntegerProperty(final Value<Integer> value) {
super(value);
}
@Override
protected IntegerProperty getThis() {
return this;
}
@Override
public Property<String> asString() {
return asString(getName() + " must be an integer");
}
public Property<String> asString(String invalidMessage) {
if (asString == null) {
asString = formatted(invalidMessage, new PropertyFormatter<Integer, String>() {
public String format(Integer a) {
return Integer.toString(a);
}
@Override
public Integer parse(String b) {
return Integer.parseInt(b);
}
});
}
return asString;
}
}