Berkeley DB
version 5.3.28

com.sleepycat.persist
Class StoreConfig

java.lang.Object
  extended by com.sleepycat.persist.StoreConfig
All Implemented Interfaces:
Cloneable

public class StoreConfig
extends Object
implements Cloneable

Configuration properties used with an EntityStore or RawStore.

StoreConfig objects are thread-safe. Multiple threads may safely call the methods of a shared StoreConfig object.

See the package summary example for an example of using a StoreConfig.


Field Summary
static StoreConfig DEFAULT
          The default store configuration containing properties as if the configuration were constructed and not modified.
 
Constructor Summary
StoreConfig()
          Creates an entity store configuration object with default properties.
 
Method Summary
 StoreConfig clone()
          Returns a shallow copy of the configuration.
 StoreConfig cloneConfig()
          Deprecated. As of JE 4.0.13, replaced by clone().

 boolean getAllowCreate()
          Returns whether creation of a new store is allowed.
 DatabaseNamer getDatabaseNamer()
          Returns the object reponsible for naming of files and databases.
 boolean getExclusiveCreate()
          Returns whether opening an existing store is prohibited.
 EntityModel getModel()
          Returns the entity model that defines entity classes and index keys.
 Mutations getMutations()
          Returns the configured mutations for performing lazy evolution of stored instances.
 boolean getReadOnly()
          Returns the read-only configuration property.
 boolean getSecondaryBulkLoad()
          Returns the bulk-load-secondaries configuration property.
 boolean getTransactional()
          Returns the transactional configuration property.
 StoreConfig setAllowCreate(boolean allowCreate)
          Specifies whether creation of a new store is allowed.
 void setAllowCreateVoid(boolean allowCreate)
           
 StoreConfig setDatabaseNamer(DatabaseNamer databaseNamer)
          Specifies the object reponsible for naming of files and databases.
 void setDatabaseNamerVoid(DatabaseNamer databaseNamer)
           
 StoreConfig setExclusiveCreate(boolean exclusiveCreate)
          Specifies whether opening an existing store is prohibited.
 void setExclusiveCreateVoid(boolean exclusiveCreate)
           
 StoreConfig setModel(EntityModel model)
          Sets the entity model that defines entity classes and index keys.
 void setModelVoid(EntityModel model)
           
 StoreConfig setMutations(Mutations mutations)
          Configures mutations for performing lazy evolution of stored instances.
 void setMutationsVoid(Mutations mutations)
           
 StoreConfig setReadOnly(boolean readOnly)
          Sets the read-only configuration property.
 void setReadOnlyVoid(boolean readOnly)
           
 StoreConfig setSecondaryBulkLoad(boolean secondaryBulkLoad)
          Sets the bulk-load-secondaries configuration property.
 void setSecondaryBulkLoadVoid(boolean secondaryBulkLoad)
           
 StoreConfig setTransactional(boolean transactional)
          Sets the transactional configuration property.
 void setTransactionalVoid(boolean transactional)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT

public static final StoreConfig DEFAULT
The default store configuration containing properties as if the configuration were constructed and not modified.

Constructor Detail

StoreConfig

public StoreConfig()
Creates an entity store configuration object with default properties.

Method Detail

cloneConfig

public StoreConfig cloneConfig()
Deprecated. As of JE 4.0.13, replaced by clone().

Returns a shallow copy of the configuration.


clone

public StoreConfig clone()
Returns a shallow copy of the configuration.

Overrides:
clone in class Object

setAllowCreate

public StoreConfig setAllowCreate(boolean allowCreate)
Specifies whether creation of a new store is allowed. By default this property is false.

If this property is false and the internal store metadata database does not exist, DatabaseException will be thrown when the store is opened.


setAllowCreateVoid

public void setAllowCreateVoid(boolean allowCreate)

getAllowCreate

public boolean getAllowCreate()
Returns whether creation of a new store is allowed.


setExclusiveCreate

public StoreConfig setExclusiveCreate(boolean exclusiveCreate)
Specifies whether opening an existing store is prohibited. By default this property is false.

If this property is true and the internal store metadata database already exists, DatabaseException will be thrown when the store is opened.


setExclusiveCreateVoid

public void setExclusiveCreateVoid(boolean exclusiveCreate)

getExclusiveCreate

public boolean getExclusiveCreate()
Returns whether opening an existing store is prohibited.


setTransactional

public StoreConfig setTransactional(boolean transactional)
Sets the transactional configuration property. By default this property is false.

This property is true to open all store indices for transactional access. True may not be specified if the environment is not also transactional.


setTransactionalVoid

public void setTransactionalVoid(boolean transactional)

getTransactional

public boolean getTransactional()
Returns the transactional configuration property.


setReadOnly

public StoreConfig setReadOnly(boolean readOnly)
Sets the read-only configuration property. By default this property is false.

This property is true to open all store indices for read-only access, or false to open them for read-write access. False may not be specified if the environment is read-only.


setReadOnlyVoid

public void setReadOnlyVoid(boolean readOnly)

getReadOnly

public boolean getReadOnly()
Returns the read-only configuration property.


setSecondaryBulkLoad

public StoreConfig setSecondaryBulkLoad(boolean secondaryBulkLoad)
Sets the bulk-load-secondaries configuration property. By default this property is false.

This property is true to cause the initial creation of secondary indices to be performed as a bulk load. If this property is true and EntityStore.getSecondaryIndex has never been called for a secondary index, that secondary index will not be created or written as records are written to the primary index. In addition, if that secondary index defines a foreign key constraint, the constraint will not be enforced.

The secondary index will be populated later when the getSecondaryIndex method is called for the first time for that index, or when the store is closed and re-opened with this property set to false and the primary index is obtained. In either case, the secondary index is populated by reading through the entire primary index and adding records to the secondary index as needed. While populating the secondary, foreign key constraints will be enforced and an exception is thrown if a constraint is violated.

When loading a primary index along with secondary indexes from a large input data set, configuring a bulk load of the secondary indexes is sometimes more performant than updating the secondary indexes each time the primary index is updated. The absence of foreign key constraints during the load also provides more flexibility.


setSecondaryBulkLoadVoid

public void setSecondaryBulkLoadVoid(boolean secondaryBulkLoad)

getSecondaryBulkLoad

public boolean getSecondaryBulkLoad()
Returns the bulk-load-secondaries configuration property.


setModel

public StoreConfig setModel(EntityModel model)
Sets the entity model that defines entity classes and index keys.

If null is specified or this method is not called, an AnnotationModel instance is used by default.


setModelVoid

public void setModelVoid(EntityModel model)

getModel

public EntityModel getModel()
Returns the entity model that defines entity classes and index keys.


setMutations

public StoreConfig setMutations(Mutations mutations)
Configures mutations for performing lazy evolution of stored instances. Existing mutations for this store are not cleared, so the mutations required are only those changes that have been made since the store was last opened. Some new mutations may override existing specifications, and some may be supplemental.

If null is specified and the store already exists, the previously specified mutations are used. The mutations are stored persistently in serialized form.

Mutations must be available to handle all changes to classes that are incompatible with the class definitions known to this store. See Mutations and Class Evolution for more information.

If an incompatible class change has been made and mutations are not available for handling the change, IncompatibleClassException will be thrown when creating an EntityStore.


setMutationsVoid

public void setMutationsVoid(Mutations mutations)

getMutations

public Mutations getMutations()
Returns the configured mutations for performing lazy evolution of stored instances.


setDatabaseNamer

public StoreConfig setDatabaseNamer(DatabaseNamer databaseNamer)
Specifies the object reponsible for naming of files and databases. By default this property is DatabaseNamer.DEFAULT.

Throws:
NullPointerException - if a null parameter value is passed.

setDatabaseNamerVoid

public void setDatabaseNamerVoid(DatabaseNamer databaseNamer)

getDatabaseNamer

public DatabaseNamer getDatabaseNamer()
Returns the object reponsible for naming of files and databases.


Berkeley DB
version 5.3.28

Copyright (c) 1996, 2013 Oracle and/or its affiliates. All rights reserved.