Class ObjectStore

  • All Implemented Interfaces:
    BaseStore, ObjectStoreAPI, ParticipantStore, RecoveryStore, TxLog

    public abstract class ObjectStore
    extends Object
    implements ObjectStoreAPI
    The object store interface is the application's route to using a specific object store implementation. The interface dynamically binds to an implementation of the right type. This is the base class from which all object store types are derived. Note that because object store instances are stateless, to improve efficiency we try to only create one instance of each type per process. Therefore, the create and destroy methods are used instead of new and delete. If an object store is accessed via create it *must* be deleted using destroy. Of course it is still possible to make use of new directly.
    Since:
    JTS 1.0.
    Version:
    $Id: ObjectStore.java 2342 2006-03-30 13:06:17Z $
    Author:
    Mark Little (mark@arjuna.com)
    • Field Detail

      • shareStatus

        protected final int shareStatus
      • _objectStoreRoot

        protected final String _objectStoreRoot
    • Method Detail

      • start

        public void start()
        Specified by:
        start in interface BaseStore
      • stop

        public void stop()
        Specified by:
        stop in interface BaseStore
      • locateStore

        public String locateStore​(String localOSRoot)
                           throws ObjectStoreException
        Parameters:
        localOSRoot - the root of the store.
        Returns:
        the full path of the store. localOSRoot is always a relative name. NOTE this path always ends in a /
        Throws:
        ObjectStoreException
      • fullCommitNeeded

        public boolean fullCommitNeeded()
        Does this store need to do the full write_uncommitted/commit protocol?
        Specified by:
        fullCommitNeeded in interface ParticipantStore
        Returns:
        true if full commit is needed, false otherwise.
      • isType

        public boolean isType​(Uid u,
                              String tn,
                              int st)
                       throws ObjectStoreException
        Is the current state of the object the same as that provided as the last parameter?
        Specified by:
        isType in interface RecoveryStore
        Parameters:
        u - The object to work on.
        tn - The type of the object.
        st - The expected type of the object.
        Returns:
        true if the current state is as expected, false otherwise.
        Throws:
        ObjectStoreException
      • initialise

        public final void initialise​(Uid u,
                                     String tn)
        Initialise the object store.
      • shareState

        public final int shareState()
      • storeDir

        public final String storeDir()
      • storeRoot

        public final String storeRoot()
      • supressEntry

        protected abstract boolean supressEntry​(String name)
        Suppress directories of the specified type from allTypes etc?
      • revealedId

        protected String revealedId​(String name)
        Given a type id which is possibly hidden (e.g., has a ! at the end), make it a valid Uid so we can return it.