package org.activityinfo.model.type.expr; import org.activityinfo.model.resource.Record; import org.activityinfo.model.type.FieldType; import org.activityinfo.model.type.FieldTypeClass; import org.activityinfo.model.type.FieldValue; import org.activityinfo.model.type.RecordFieldTypeClass; /** * Value type that represents an expression */ public class ExprFieldType implements FieldType { public static final FieldTypeClass TYPE_CLASS = new RecordFieldTypeClass() { @Override public String getId() { return "expr"; } @Override public FieldType createType() { return INSTANCE; } @Override public FieldValue deserialize(Record record) { return ExprValue.fromRecord(record); } }; public static final ExprFieldType INSTANCE = new ExprFieldType(); private ExprFieldType() { } @Override public FieldTypeClass getTypeClass() { return TYPE_CLASS; } }