package part05.generated;
//==============================================================================
//
// THIS FILE HAS BEEN GENERATED BY OBJECTFABRIC
//
//==============================================================================
@SuppressWarnings({ "hiding", "unchecked", "static-access", "unused", "cast", "rawtypes" })
public class User extends org.objectfabric.TGenerated {
public User(org.objectfabric.Resource resource) {
this(resource, new Version(FIELD_COUNT), FIELD_COUNT);
}
protected User(org.objectfabric.Resource resource, org.objectfabric.TObject.Version shared, int length) {
super(resource, shared, FIELD_COUNT);
}
public User(User toCopy) {
this(toCopy.resource());
name(toCopy.name());
}
public static final org.objectfabric.TType TYPE = new org.objectfabric.TType(part05.generated.MyObjectModel.instance(), part05.generated.MyObjectModel.PART05_GENERATED_USER_CLASS_ID);
public final java.lang.String name() {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startRead_(outer);
Version v = (Version) getVersion32_(inner, NAME_INDEX);
java.lang.String value = v != null ? v._name : null;
endRead_(outer, inner);
return value;
}
public final void name(java.lang.String value) {
org.objectfabric.TObject.Transaction outer = current_();
org.objectfabric.TObject.Transaction inner = startWrite_(outer);
Version v = (Version) getOrCreateVersion_(inner);
v._name = value;
v.setBit(NAME_INDEX);
endWrite_(outer, inner);
}
public static final int NAME_INDEX = 0;
public static final java.lang.String NAME_NAME = "name";
public static final org.objectfabric.TType NAME_TYPE = org.objectfabric.Immutable.STRING.type();
public static final int FIELD_COUNT = 1;
public static java.lang.String fieldName(int index) {
switch (index) {
case NAME_INDEX:
return NAME_NAME;
default:
throw new IllegalArgumentException();
}
}
public static org.objectfabric.TType fieldType(int index) {
switch (index) {
case NAME_INDEX:
return NAME_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_USER_CLASS_ID;
}
@Override
protected org.objectfabric.ObjectModel objectModel_() {
return part05.generated.MyObjectModel.instance();
}
protected static class Version extends org.objectfabric.TIndexed.Version32 {
public java.lang.String _name;
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 NAME_INDEX:
return _name;
default:
return super.getAsObject(index);
}
}
@Override
public void setAsObject(int index, java.lang.Object value) {
switch (index) {
case NAME_INDEX:
_name = (java.lang.String) value;
break;
default:
super.setAsObject(index, value);
break;
}
}
@Override
public void merge(org.objectfabric.TObject.Version next) {
User.Version source = (User.Version) next;
if (source.hasBits()) {
if (source.getBit(NAME_INDEX))
_name = source._name;
}
super.merge(next);
}
@Override
public void writeWrite(org.objectfabric.Writer writer, int index) {
if (writer.interrupted())
writer.resume();
switch (index) {
case NAME_INDEX: {
writer.writeString(_name);
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 NAME_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])._name = value;
break;
}
default: {
super.readWrite(reader, index, versions);
if (reader.interrupted()) {
reader.interrupt(null);
return;
}
break;
}
}
}
}
}