package frame.persist; import java.math.BigDecimal; import java.util.Date; import frame.data.DataType; import frame.data.Entity; import frame.data.EntitySet; import frame.data.Variant; public class Result { private DataType dataType; private Variant variant; private Object object; public Result() { dataType = DataType.Void; } public void setValue(Integer value) { variant = new Variant(value); dataType = DataType.Int; } public void setValue(String value) { variant = new Variant(value); dataType = DataType.String; } public void setValue(BigDecimal value) { variant = new Variant(value); dataType = DataType.Decimal; } public void setValue(Date value) { variant = new Variant(value); dataType = DataType.Date; } public void setValue(Entity value) { object = value; dataType = DataType.Entity; } public void setValue(EntitySet value) { object = value; dataType = DataType.EntitySet; } public DataType getDataType() { return dataType; } public Entity getEntity() { return (Entity)object; } public EntitySet getEntitySet() { return (EntitySet)object; } public String getString() { return variant.getStringValue(); } public int getInt(int defaultValue) { return variant.getIntValue(defaultValue); } public BigDecimal getBigDecimal() { return variant.getBigDecimalValue(); } public Variant getValue() { return variant; } }