# Package com.hammurapi.store

This package contains interfaces and classes which define object store and provide foundation for implementations.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  BackingStore<T,PK> | Backing store can be used by object store to load and store objects.
  Index<ST,T extends ST,PK,V,S extends Store<ST,PK,S>> | Store.addIndex() returns object which implements one or more of Index sub-interfaces.
  MultiIndex<ST,T extends ST,PK,V,S extends Store<ST,PK,S>> | Non-unique index.
  OrderedIndex<ST,T extends ST,PK,V,S extends Store<ST,PK,S>> | Ordered index.
  Store<T,PK,S extends Store<T,PK,S>> | Abstraction of object store.
  Store.Handle<T,PK,S extends Store<T,PK,S>> | Object handle.
  Store.QueryTask<T,PK,S extends Store<?,PK,S>> | Task to perform processing on objects (without updating).
  Store.StoreIterator<T> | Some stores may return StoreIterator, which needs to be closed if iterator operation is terminated before hasNext() returns false.
  Store.UpdateTask<T,PK,S extends Store<T,PK,S>> | Task to update objects.
  TrackingLock | Lock which knows whether it is locked or not by the current "context", which can be the current thread or something else.
  Transaction<T,PK,S extends Store<T,PK,S>> | Transaction.
  TransactionalStore<T,PK,S extends Store<T,PK,S>> |
  UniqueIndex<ST,T extends ST,PK,V,S extends Store<ST,PK,S>> | Unique index.

- Class Summary
  Class | Description
  --- | ---
  AbstractIndex<ST,T extends ST,PK,V,S extends Store<ST,PK,S>> |
  AbstractStore<T,PK,S extends Store<T,PK,S>> | Abstract base class for object stores.
  AbstractTrackingLock | This class tracks number of locks acquired by current thread.
  DeputyLock | Lock which acts on behalf of another lock and acquires its own lock only if the master lock is not held.
  DeputyReadWriteLock | This lock acts on behalf of another lock and acquires its own locks only if the master doesn't hold corresponding locks.
  DeputyStore<T,PK,S extends Store<T,PK,S>> | This class operates on master's data.
  LiveView<T,PK,S extends Store<T,PK,S>> |
  NaturalComparator<V> | Convenience class which compares objects according natural order.
  UnmodifiableStore<T,PK,S extends Store<T,PK,S>> |

- Enum Summary
  Enum | Description
  --- | ---
  Index.Type |
  Store.ViewType |

- Exception Summary
  Exception | Description
  --- | ---
  StoreException | Wrapper exception

## Package com.hammurapi.store Description

This package contains interfaces and classes which define object store and provide foundation for implementations. The purpose of the object store is to provide means for manipulation of collections of objects which are not available in the Java Collections Framework.

See Also:
  Object Store page in Hammurapi Group Documentation Library