package com.revolsys.record.io.format.esri.gdb.xml.type;
import com.revolsys.datatype.DataType;
import com.revolsys.record.io.format.esri.gdb.xml.model.enums.FieldType;
import com.revolsys.record.io.format.xml.XmlWriter;
public class SimpleFieldType extends AbstractEsriGeodatabaseXmlFieldType {
private int fixedLength = -1;
private final boolean usePrecision;
public SimpleFieldType(final FieldType esriFieldType, final DataType dataType,
final boolean usePrecision) {
this(esriFieldType, dataType, usePrecision, -1);
}
public SimpleFieldType(final FieldType esriFieldType, final DataType dataType,
final boolean usePrecision, final int fixedLength) {
super(dataType, "xs:" + dataType.getName(), esriFieldType);
this.usePrecision = usePrecision;
this.fixedLength = fixedLength;
}
public SimpleFieldType(final FieldType esriFieldType, final DataType dataType,
final String xmlSchemaTypeName, final boolean usePrecision, final int fixedLength) {
super(dataType, xmlSchemaTypeName, esriFieldType);
this.usePrecision = usePrecision;
this.fixedLength = fixedLength;
}
@Override
public int getFixedLength() {
return this.fixedLength;
}
@Override
public boolean isUsePrecision() {
return this.usePrecision;
}
@Override
protected void writeValueText(final XmlWriter out, final Object value) {
out.text(value);
}
}