Class AbstractRWPersistent

java.lang.Object
net.ontopia.persistence.proxy.AbstractRWPersistent
All Implemented Interfaces:
PersistentIF
Direct Known Subclasses:
TMObject

public abstract class AbstractRWPersistent extends Object implements PersistentIF
INTERNAL: An abstract PersistentIF implementation that handles most of the machinery needed to implement persistent objects. Note that other persistent classes should extend this class.
  • Field Details

  • Constructor Details

    • AbstractRWPersistent

      public AbstractRWPersistent()
    • AbstractRWPersistent

      public AbstractRWPersistent(TransactionIF txn)
  • Method Details

    • _p_getIdentity

      public IdentityIF _p_getIdentity()
      Description copied from interface: PersistentIF
      INTERNAL: Returns the identity of the object.
      Specified by:
      _p_getIdentity in interface PersistentIF
    • _p_getType

      public Class<?> _p_getType()
      Description copied from interface: PersistentIF
      INTERNAL: Returns the object.type. This information is used by the transaction to handle the persistent mapping for the object.
      Specified by:
      _p_getType in interface PersistentIF
    • _p_setIdentity

      public void _p_setIdentity(IdentityIF identity)
      Description copied from interface: PersistentIF
      INTERNAL: Sets the identity of the object.
      Specified by:
      _p_setIdentity in interface PersistentIF
    • _p_getTransaction

      public TransactionIF _p_getTransaction()
      Description copied from interface: PersistentIF
      INTERNAL: Returns the transaction that is responible for managing the object.
      Specified by:
      _p_getTransaction in interface PersistentIF
    • _p_setTransaction

      public void _p_setTransaction(TransactionIF txn)
      Description copied from interface: PersistentIF
      INTERNAL: Sets the transaction that is responible for managing the object.
      Specified by:
      _p_setTransaction in interface PersistentIF
    • syncAfterMerge

      public abstract void syncAfterMerge(IdentityIF source, IdentityIF target)
    • syncFieldsAfterMerge

      protected void syncFieldsAfterMerge(IdentityIF source, IdentityIF target, int... fields)
    • loadField

      protected <F> F loadField(int field)
      INTERNAL: Called when the instance requests the initialization of the specified field value. This call will lead to the value being retrieved from the data repository if the instance is managed by a transaction, otherwise a default value will be set.
      Returns:
      FIXME: only loaded values will be returned. if the default value is being set, the return value is null.
    • loadFieldNoCheck

      protected <F> F loadFieldNoCheck(int field) throws IdentityNotFoundException
      Throws:
      IdentityNotFoundException
    • loadCollectionField

      protected <F> Collection<F> loadCollectionField(int field)
    • detach

      public abstract void detach()
      Specified by:
      detach in interface PersistentIF
    • detachField

      protected void detachField(int field)
    • detachCollectionField

      protected void detachCollectionField(int field)
    • valueChanged

      protected void valueChanged(int field, Object value, boolean dchange)
      INTERNAL: Called when a field value has been changed. The managing transaction will be notified.
    • valueAdded

      protected void valueAdded(int field, Object value, boolean dchange)
    • valueRemoved

      protected void valueRemoved(int field, Object value, boolean dchange)
    • executeQuery

      protected Object executeQuery(String name, Object[] params)
    • isTransient

      public boolean isTransient()
      Specified by:
      isTransient in interface PersistentIF
    • isNewObject

      public boolean isNewObject()
      Specified by:
      isNewObject in interface PersistentIF
    • setNewObject

      public void setNewObject(boolean newObject)
      Specified by:
      setNewObject in interface PersistentIF
    • isInDatabase

      public boolean isInDatabase()
      Specified by:
      isInDatabase in interface PersistentIF
    • setInDatabase

      public void setInDatabase(boolean inDatabase)
      Specified by:
      setInDatabase in interface PersistentIF
    • isPersistent

      public boolean isPersistent()
      Specified by:
      isPersistent in interface PersistentIF
    • setPersistent

      public void setPersistent(boolean persistent)
      Specified by:
      setPersistent in interface PersistentIF
    • isDeleted

      public boolean isDeleted()
      Specified by:
      isDeleted in interface PersistentIF
    • setDeleted

      public void setDeleted(boolean deleted)
      Specified by:
      setDeleted in interface PersistentIF
    • isLoaded

      public boolean isLoaded(int field)
      Specified by:
      isLoaded in interface PersistentIF
    • loadValue

      public Object loadValue(FieldInfoIF finfo)
      Specified by:
      loadValue in interface PersistentIF
    • getValue

      protected <F> F getValue(int field)
    • setValue

      protected void setValue(int field, Object value)
    • unsetValue

      protected void unsetValue(int field, Object value)
    • isDirty

      public boolean isDirty()
      Specified by:
      isDirty in interface PersistentIF
    • isDirty

      public boolean isDirty(int field)
      Specified by:
      isDirty in interface PersistentIF
    • nextDirty

      public int nextDirty(int start)
      Specified by:
      nextDirty in interface PersistentIF
    • nextDirty

      public int nextDirty(int start, int end)
      Specified by:
      nextDirty in interface PersistentIF
    • setDirty

      public void setDirty(int field, boolean dirty)
    • isDirtyFlushed

      public boolean isDirtyFlushed()
    • isDirtyFlushed

      public boolean isDirtyFlushed(int field)
    • nextDirtyFlushed

      public int nextDirtyFlushed(int start)
    • nextDirtyFlushed

      public int nextDirtyFlushed(int start, int end)
    • setDirtyFlushed

      public void setDirtyFlushed(int field, boolean dirty)
      Specified by:
      setDirtyFlushed in interface PersistentIF
    • clearAll

      public void clearAll()
      Specified by:
      clearAll in interface PersistentIF
    • _p_toString

      public String _p_toString()