package part05.generated.v1; //============================================================================== // // THIS FILE HAS BEEN GENERATED BY OBJECTFABRIC // //============================================================================== @SuppressWarnings({ "hiding", "unchecked", "static-access", "unused", "cast", "rawtypes" }) public class Car extends org.objectfabric.TGenerated { public Car(org.objectfabric.Resource resource, java.lang.String brand) { this(resource, new Version(FIELD_COUNT), FIELD_COUNT, brand); } protected Car(org.objectfabric.Resource resource, org.objectfabric.TObject.Version shared, int length, java.lang.String brand) { super(resource, shared, FIELD_COUNT); ((Version) shared)._brand = brand; if (brand != null) ((Version) shared).setBit(BRAND_INDEX); } public Car(Car toCopy) { this(toCopy.resource(), toCopy.brand()); field(toCopy.field()); } public static final org.objectfabric.TType TYPE = new org.objectfabric.TType(part05.generated.v1.ObjectModel.instance(), part05.generated.v1.ObjectModel.PART05_GENERATED_V1_CAR_CLASS_ID); public final java.lang.String brand() { Version v = (Version) shared_(); return v._brand; } public final java.lang.String field() { org.objectfabric.TObject.Transaction outer = current_(); org.objectfabric.TObject.Transaction inner = startRead_(outer); Version v = (Version) getVersion32_(inner, FIELD_INDEX); java.lang.String value = v != null ? v._field : null; endRead_(outer, inner); return value; } public final void field(java.lang.String value) { org.objectfabric.TObject.Transaction outer = current_(); org.objectfabric.TObject.Transaction inner = startWrite_(outer); Version v = (Version) getOrCreateVersion_(inner); v._field = value; v.setBit(FIELD_INDEX); endWrite_(outer, inner); } public static final int BRAND_INDEX = 0; public static final java.lang.String BRAND_NAME = "brand"; public static final org.objectfabric.TType BRAND_TYPE = org.objectfabric.Immutable.STRING.type(); public static final int FIELD_INDEX = 1; public static final java.lang.String FIELD_NAME = "field"; public static final org.objectfabric.TType FIELD_TYPE = org.objectfabric.Immutable.STRING.type(); public static final int FIELD_COUNT = 2; public static java.lang.String fieldName(int index) { switch (index) { case BRAND_INDEX: return BRAND_NAME; case FIELD_INDEX: return FIELD_NAME; default: throw new IllegalArgumentException(); } } public static org.objectfabric.TType fieldType(int index) { switch (index) { case BRAND_INDEX: return BRAND_TYPE; case FIELD_INDEX: return FIELD_TYPE; default: throw new IllegalArgumentException(); } } @Override protected org.objectfabric.TObject.Version createVersion_() { Version version = new Version(0); version.setObject(this); return version; } @Override protected int classId_() { return part05.generated.v1.ObjectModel.PART05_GENERATED_V1_CAR_CLASS_ID; } @Override protected org.objectfabric.ObjectModel objectModel_() { return part05.generated.v1.ObjectModel.instance(); } protected static class Version extends org.objectfabric.TIndexed.Version32 { public java.lang.String _brand; public java.lang.String _field; private static final int _readOnlys; static { int readOnlys = 0; readOnlys = setBit(readOnlys, BRAND_INDEX); _readOnlys = readOnlys; } public Version(int length) { super(length); } @Override public java.lang.String getFieldName(int index) { return fieldName(index); } @Override public org.objectfabric.TType getFieldType(int index) { return fieldType(index); } @Override public java.lang.Object getAsObject(int index) { switch (index) { case BRAND_INDEX: return _brand; case FIELD_INDEX: return _field; default: return super.getAsObject(index); } } @Override public void setAsObject(int index, java.lang.Object value) { switch (index) { case BRAND_INDEX: _brand = (java.lang.String) value; break; case FIELD_INDEX: _field = (java.lang.String) value; break; default: super.setAsObject(index, value); break; } } @Override public void merge(org.objectfabric.TObject.Version next) { Car.Version source = (Car.Version) next; if (source.hasBits()) { if (source.getBit(BRAND_INDEX)) _brand = source._brand; if (source.getBit(FIELD_INDEX)) _field = source._field; } super.merge(next); } @Override public int getReadOnlys() { return _readOnlys; } @Override public void writeWrite(org.objectfabric.Writer writer, int index) { if (writer.interrupted()) writer.resume(); switch (index) { case BRAND_INDEX: { writer.writeString(_brand); if (writer.interrupted()) { writer.interrupt(null); return; } break; } case FIELD_INDEX: { writer.writeString(_field); if (writer.interrupted()) { writer.interrupt(null); return; } break; } default: { super.writeWrite(writer, index); if (writer.interrupted()) { writer.interrupt(null); return; } break; } } } @Override public void readWrite(org.objectfabric.Reader reader, int index, java.lang.Object[] versions) { if (reader.interrupted()) reader.resume(); switch (index) { case BRAND_INDEX: { java.lang.String value = reader.readString(); if (reader.interrupted()) { reader.interrupt(null); return; } for (int i = versions.length - 1; i >= 0; i--) ((Version) versions[i])._brand = value; break; } case FIELD_INDEX: { java.lang.String value = reader.readString(); if (reader.interrupted()) { reader.interrupt(null); return; } for (int i = versions.length - 1; i >= 0; i--) ((Version) versions[i])._field = value; break; } default: { super.readWrite(reader, index, versions); if (reader.interrupted()) { reader.interrupt(null); return; } break; } } } } }