class RecordImpl implements Record {

    @Override
    public void setChar(final String fieldName, final String value) {
        final long dataLength = getStructure().getField(fieldName).getDataLength();
        if (value.length() > dataLength) {
            throw new ArrayIndexOutOfBoundsException(
                    String.format("String data length exceeds maximum data length: %s > %s",
                            Integer.toString(value.length()), Long.toString(dataLength)));
        }
        setValue(fieldName, value, DataType.CHARACTER);
    }

    public  RecordImpl(final String name, final Structure structure, final Record parent);
      RecordImpl(final String name, final Structure structure, final Record parent,
            final RecordListImplFactory fixedListFactory, final DynamicRecordListImplFactory varListFactory,
            final RecordImplFactory recordFactory);

}