Berkeley DB Java Edition
version 1.5.1

com.sleepycat.collections
Class StoredContainer

java.lang.Object
  |
  +--com.sleepycat.collections.StoredContainer
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
StoredCollection, StoredMap

public abstract class StoredContainer
extends Object
implements Cloneable

A abstract base class for all stored collections and maps. This class provides implementations of methods that are common to the Collection and the Map interfaces, namely clear(), isEmpty() and size().

Note that this class does not conform to the standard Java collections interface in the following ways:

In addition, this class provides the following methods for stored collections only. Note that the use of these methods is not compatible with the standard Java collections interface.

Author:
Mark Hayes

Method Summary
 boolean areDuplicatesAllowed()
          Returns whether duplicate keys are allowed in this container.
 boolean areDuplicatesOrdered()
          Returns whether duplicate keys are allowed and sorted by element value.
 boolean areKeysRenumbered()
          Returns whether keys are renumbered when insertions and deletions occur.
 void clear()
          Removes all mappings or elements from this map or collection (optional operation).
 boolean isDirtyRead()
          Returns whether dirty-read is enabled for this container.
 boolean isDirtyReadAllowed()
          Returns whether dirty-read is allowed for this container.
 boolean isEmpty()
          Returns true if this map or collection contains no mappings or elements.
 boolean isOrdered()
          Returns whether keys are ordered in this container.
 boolean isSecondary()
          Returns whether this container is a view on a secondary database rather than directly on a primary database.
 boolean isTransactional()
          Returns whether the databases underlying this container are transactional.
 boolean isWriteAllowed()
          Returns true if this is a read-write container or false if this is a read-only container.
 int size()
          Always throws UnsupportedOperationException.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isWriteAllowed

public final boolean isWriteAllowed()
Returns true if this is a read-write container or false if this is a read-only container. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether write is allowed.

isDirtyReadAllowed

public final boolean isDirtyReadAllowed()
Returns whether dirty-read is allowed for this container. For the JE product, dirty-read is always allowed; for the DB product, dirty-read is allowed if it was configured for the underlying database for this container. Even when dirty-read is allowed it must specifically be enabled by calling one of the StoredCollections methods. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether dirty-read is allowed.

isDirtyRead

public final boolean isDirtyRead()
Returns whether dirty-read is enabled for this container. If dirty-read is enabled, data will be read that is modified but not committed. Dirty-read is disabled by default. This method always returns false if isDirtyReadAllowed() returns false. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether dirty-read is enabled.

isTransactional

public final boolean isTransactional()
Returns whether the databases underlying this container are transactional. Even in a transactional environment, a database will be transactional only if it was opened within a transaction or if the auto-commit option was specified when it was opened. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether the database is transactional.

areDuplicatesAllowed

public final boolean areDuplicatesAllowed()
Returns whether duplicate keys are allowed in this container. Duplicates are optionally allowed for HASH and BTREE databases. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether duplicates are allowed.

areDuplicatesOrdered

public final boolean areDuplicatesOrdered()
Returns whether duplicate keys are allowed and sorted by element value. Duplicates are optionally sorted for HASH and BTREE databases. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether duplicates are ordered.

areKeysRenumbered

public final boolean areKeysRenumbered()
Returns whether keys are renumbered when insertions and deletions occur. Keys are optionally renumbered for RECNO databases. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether keys are renumbered.

isOrdered

public final boolean isOrdered()
Returns whether keys are ordered in this container. Keys are ordered for BTREE, RECNO and QUEUE database. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether keys are ordered.

isSecondary

public final boolean isSecondary()
Returns whether this container is a view on a secondary database rather than directly on a primary database. This method does not exist in the standard Map or Collection interfaces.

Returns:
whether the view is for a secondary database.

size

public int size()
Always throws UnsupportedOperationException. The size of a database cannot be obtained reliably or inexpensively. This method therefore violates the Collection.size() and Map.size() interfaces.

Returns:
always throws an exception.
Throws:
UnsupportedOperationException - unconditionally.

isEmpty

public boolean isEmpty()
Returns true if this map or collection contains no mappings or elements. This method conforms to the Collection.isEmpty() and Map.isEmpty() interfaces.

Returns:
whether the container is empty.
Throws:
RuntimeExceptionWrapper - if a DatabaseException is thrown.

clear

public void clear()
Removes all mappings or elements from this map or collection (optional operation). This method conforms to the Collection.clear() and Map.clear() interfaces.

Throws:
UnsupportedOperationException - if the container is read-only.
RuntimeExceptionWrapper - if a DatabaseException is thrown.

Berkeley DB Java Edition
version 1.5.1

Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.