org.siebengeisslein.client
Class Persistent

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
All Implemented Interfaces:
Instrumented
Direct Known Subclasses:
AbstractCellEditor, AbstractCollection, AbstractContentFactory, AbstractData, AbstractExpression, AbstractFormLayout, AbstractGlobalVariable, AbstractGlobalVarType, AbstractIndexable, AbstractLabelRenderer, AbstractListModel, AbstractModifieableVariableManager, AbstractPContainer.PComponentEntry, AbstractPField, AbstractProperty, AbstractRefPType, AbstractStatement, AbstractTableModel, AbstractTreeModel, AbstractTypeListFactory, AbstractValidator, Account, Accounts, Applications, ArrayPType, BasicPType, BindingProperty, BTreeIndex, BTreeNode, BTreeNodeValues, ClassData, ComponentChangeListener, ComponentField, Data, DataBinding, DataDirectory, DataEntryFactory, DataTreeModel, DefaultApplication, DefaultErrorItem, DefaultErrorList, DefaultListSelectionModel, DefaultTreeCellEditor, DelegatingType, DummyPType, EmptyVariableManager, ExpressionRenderer, ExpressionTableCellEditor, ExternalConstructor, ExternalPMethod, FieldDataProperty, FieldTableHistoryEditor, GlobalData, GlobalDataField, GlobalVariableManager, GuiData, GuiDataType, HashMap, IconEntryDescriptor, IdeGuiData, IdePActionEntry, Immutable, IndexedList, IndexInfo, IntKeys, LongKeys, NoSelectionListModel, NullType, PAction, PanelBindingGetter, PanelBindingSetter, PBorderLayout, PClass, PComponent, PComponentChangeListener, PCompoundBorder, PConstraint, PDefaultListCellRenderer, PEmptyBorder, PersistentViewTreeModel, PFocusAdapter, PFormLayout, PGridBagLayout, PInsets, PListenerList, PLocalVariable, PMatteBorder, PMouseAdapter, PMouseMotionAdapter, PNamedEntry, PNamedEntryField, PNamedEntryListField, POperator, PPackage, PPoint, Project, ProjectRenderer, PropertyFactory, PSpinnerNumberModel, PTitledBorder, PTreeCellRenderer, PUnknownField, QueryOperator, RefKeys, Sequence, StringKeys, TableEntryDescriptor, TableFieldVariable, TypeChange, TypeManager, TypeProtoTypeFactory, TypeRenderer, UnknownPType, UnknownVariable, UserScopeData, VersionAware, VoidPType

public abstract class Persistent
extends java.lang.Object
implements Instrumented


Constructor Summary
protected Persistent()
           
protected Persistent(java.io.DataInput in, int group)
           
 
Method Summary
 void abort()
          Important: This method may not be synchronized.
protected  void clearUserLocals()
           
protected  java.lang.Object clone()
           
 void commit()
           
protected  void disposeTransient()
           
 int getGroup()
           
 Ref getRef()
           
protected  java.lang.Object getTransientValue(java.lang.String fieldName)
           
 int hashCode()
           
protected  void initTransient()
           
 boolean isWriteTransaction()
           
 void joinWriteTransaction(long timeout)
           
protected  void readLock()
           
protected  void setGroup(int group)
           
protected  void setTransientValue(java.lang.Object value, java.lang.String fieldName)
           
static Persistent toPersistent(Ref ref)
           
static Ref toRef(java.lang.Object obj)
           
 void writeExternal(java.io.DataOutput out)
           
protected  void writeLock()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Persistent

protected Persistent(java.io.DataInput in,
                     int group)
              throws java.io.IOException,
                     UnknownOIDException,
                     java.lang.ClassNotFoundException
Throws:
java.io.IOException
UnknownOIDException
java.lang.ClassNotFoundException

Persistent

protected Persistent()
Method Detail

getGroup

public final int getGroup()

setGroup

protected final void setGroup(int group)

initTransient

protected void initTransient()

disposeTransient

protected void disposeTransient()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

writeExternal

public void writeExternal(java.io.DataOutput out)
                   throws java.io.IOException
Throws:
java.io.IOException

getTransientValue

protected java.lang.Object getTransientValue(java.lang.String fieldName)

setTransientValue

protected void setTransientValue(java.lang.Object value,
                                 java.lang.String fieldName)

readLock

protected final void readLock()

writeLock

protected final void writeLock()

isWriteTransaction

public final boolean isWriteTransaction()

commit

public final void commit()

abort

public void abort()
Important: This method may not be synchronized. Synchronizing abort() causes deadlocks. TODO; look a few lines down


getRef

public Ref getRef()

toRef

public static final Ref toRef(java.lang.Object obj)

toPersistent

public static final Persistent toPersistent(Ref ref)

clearUserLocals

protected void clearUserLocals()

clone

protected java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

joinWriteTransaction

public void joinWriteTransaction(long timeout)