package part05.generated;
//==============================================================================
//
// THIS FILE HAS BEEN GENERATED BY OBJECTFABRIC
//
//==============================================================================
@SuppressWarnings({ "hiding", "unchecked", "static-access", "unused", "cast", "rawtypes" })
public class MyClass extends org.objectfabric.TGenerated {
public MyClass(org.objectfabric.Resource resource) {
this(resource, new Version(FIELD_COUNT), FIELD_COUNT);
}
protected MyClass(org.objectfabric.Resource resource, org.objectfabric.TObject.Version shared, int length) {
super(resource, shared, FIELD_COUNT);
}
public MyClass(MyClass toCopy) {
this(toCopy.resource());
field(toCopy.field());
field2(toCopy.field2());
text(toCopy.text());
}
public static final org.objectfabric.TType TYPE = new org.objectfabric.TType(part05.generated.MyObjectModel.instance(), part05.generated.MyObjectModel.PART05_GENERATED_MYCLASS_CLASS_ID);
public final int field() {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startRead_(outer);
Version v = (Version) getVersion32_(inner, FIELD_INDEX);
int value = v != null ? v._field : 0;
endRead_(outer, inner);
return value;
}
public final void field(int 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 final int field2() {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startRead_(outer);
Version v = (Version) getVersion32_(inner, FIELD2_INDEX);
int value = v != null ? v._field2 : 0;
endRead_(outer, inner);
return value;
}
public final void field2(int value) {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startWrite_(outer);
Version v = (Version) getOrCreateVersion_(inner);
v._field2 = value;
v.setBit(FIELD2_INDEX);
endWrite_(outer, inner);
}
public final java.lang.String text() {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startRead_(outer);
Version v = (Version) getVersion32_(inner, TEXT_INDEX);
java.lang.String value = v != null ? v._text : null;
endRead_(outer, inner);
return value;
}
public final void text(java.lang.String value) {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startWrite_(outer);
Version v = (Version) getOrCreateVersion_(inner);
v._text = value;
v.setBit(TEXT_INDEX);
endWrite_(outer, inner);
}
public static final int FIELD_INDEX = 0;
public static final java.lang.String FIELD_NAME = "field";
public static final org.objectfabric.TType FIELD_TYPE = org.objectfabric.Immutable.INTEGER.type();
public static final int FIELD2_INDEX = 1;
public static final java.lang.String FIELD2_NAME = "field2";
public static final org.objectfabric.TType FIELD2_TYPE = org.objectfabric.Immutable.INTEGER.type();
public static final int TEXT_INDEX = 2;
public static final java.lang.String TEXT_NAME = "text";
public static final org.objectfabric.TType TEXT_TYPE = org.objectfabric.Immutable.STRING.type();
public static final int FIELD_COUNT = 3;
public static java.lang.String fieldName(int index) {
switch (index) {
case FIELD_INDEX:
return FIELD_NAME;
case FIELD2_INDEX:
return FIELD2_NAME;
case TEXT_INDEX:
return TEXT_NAME;
default:
throw new IllegalArgumentException();
}
}
public static org.objectfabric.TType fieldType(int index) {
switch (index) {
case FIELD_INDEX:
return FIELD_TYPE;
case FIELD2_INDEX:
return FIELD2_TYPE;
case TEXT_INDEX:
return TEXT_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.MyObjectModel.PART05_GENERATED_MYCLASS_CLASS_ID;
}
@Override
protected org.objectfabric.ObjectModel objectModel_() {
return part05.generated.MyObjectModel.instance();
}
protected static class Version extends org.objectfabric.TIndexed.Version32 {
public int _field;
public int _field2;
public java.lang.String _text;
static {
}
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 FIELD_INDEX:
return _field;
case FIELD2_INDEX:
return _field2;
case TEXT_INDEX:
return _text;
default:
return super.getAsObject(index);
}
}
@Override
public void setAsObject(int index, java.lang.Object value) {
switch (index) {
case FIELD_INDEX:
_field = ((java.lang.Integer) value).intValue();
break;
case FIELD2_INDEX:
_field2 = ((java.lang.Integer) value).intValue();
break;
case TEXT_INDEX:
_text = (java.lang.String) value;
break;
default:
super.setAsObject(index, value);
break;
}
}
@Override
public void merge(org.objectfabric.TObject.Version next) {
MyClass.Version source = (MyClass.Version) next;
if (source.hasBits()) {
if (source.getBit(FIELD_INDEX))
_field = source._field;
if (source.getBit(FIELD2_INDEX))
_field2 = source._field2;
if (source.getBit(TEXT_INDEX))
_text = source._text;
}
super.merge(next);
}
@Override
public void writeWrite(org.objectfabric.Writer writer, int index) {
if (writer.interrupted())
writer.resume();
switch (index) {
case FIELD_INDEX: {
if (!writer.canWriteInteger()) {
writer.interrupt(null);
return;
}
writer.writeInteger(_field);
break;
}
case FIELD2_INDEX: {
if (!writer.canWriteInteger()) {
writer.interrupt(null);
return;
}
writer.writeInteger(_field2);
break;
}
case TEXT_INDEX: {
writer.writeString(_text);
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 FIELD_INDEX: {
if (!reader.canReadInteger()) {
reader.interrupt(null);
return;
}
int value = reader.readInteger();
for (int i = versions.length - 1; i >= 0; i--)
((Version) versions[i])._field = value;
break;
}
case FIELD2_INDEX: {
if (!reader.canReadInteger()) {
reader.interrupt(null);
return;
}
int value = reader.readInteger();
for (int i = versions.length - 1; i >= 0; i--)
((Version) versions[i])._field2 = value;
break;
}
case TEXT_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])._text = value;
break;
}
default: {
super.readWrite(reader, index, versions);
if (reader.interrupted()) {
reader.interrupt(null);
return;
}
break;
}
}
}
}
}