java.lang.Cloneable
public class StoreConfig
extends java.lang.Object
implements java.lang.Cloneable
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
.
Modifier and Type | Field | Description |
---|---|---|
static StoreConfig |
DEFAULT |
The default store configuration containing properties as if the
configuration were constructed and not modified.
|
Constructor | Description |
---|---|
StoreConfig() |
Creates an entity store configuration object with default properties.
|
Modifier and Type | Method | Description |
---|---|---|
StoreConfig |
clone() |
Returns a shallow copy of the configuration.
|
StoreConfig |
cloneConfig() |
Deprecated.
As of JE 4.0.13, replaced by
clone() . |
void |
enableEncrypted(boolean enable) |
Enables encryption when the environment is also encrypted, see
EnvironmentConfig.setEncrypted |
boolean |
getAllowCreate() |
Returns whether creation of a new store is allowed.
|
DatabaseNamer |
getDatabaseNamer() |
Returns the object reponsible for naming of files and databases.
|
boolean |
getEncrypted() |
Return true if the database has been configured to perform encryption.
|
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.
|
java.lang.String |
getPassword() |
|
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) |
The void return setter for use by Bean editors.
|
StoreConfig |
setDatabaseNamer(DatabaseNamer databaseNamer) |
Specifies the object reponsible for naming of files and databases.
|
void |
setDatabaseNamerVoid(DatabaseNamer databaseNamer) |
The void return setter for use by Bean editors.
|
void |
setEncrypted(java.lang.String password) |
Set the password used to perform encryption and decryption.
|
StoreConfig |
setExclusiveCreate(boolean exclusiveCreate) |
Specifies whether opening an existing store is prohibited.
|
void |
setExclusiveCreateVoid(boolean exclusiveCreate) |
The void return setter for use by Bean editors.
|
StoreConfig |
setModel(EntityModel model) |
Sets the entity model that defines entity classes and index keys.
|
void |
setModelVoid(EntityModel model) |
The void return setter for use by Bean editors.
|
StoreConfig |
setMutations(Mutations mutations) |
Configures mutations for performing lazy evolution of stored instances.
|
void |
setMutationsVoid(Mutations mutations) |
The void return setter for use by Bean editors.
|
StoreConfig |
setReadOnly(boolean readOnly) |
Sets the read-only configuration property.
|
void |
setReadOnlyVoid(boolean readOnly) |
The void return setter for use by Bean editors.
|
StoreConfig |
setSecondaryBulkLoad(boolean secondaryBulkLoad) |
Sets the bulk-load-secondaries configuration property.
|
void |
setSecondaryBulkLoadVoid(boolean secondaryBulkLoad) |
The void return setter for use by Bean editors.
|
StoreConfig |
setTransactional(boolean transactional) |
Sets the transactional configuration property.
|
void |
setTransactionalVoid(boolean transactional) |
The void return setter for use by Bean editors.
|
public static final StoreConfig DEFAULT
public StoreConfig()
@Deprecated public StoreConfig cloneConfig()
clone()
.public StoreConfig clone()
clone
in class java.lang.Object
public StoreConfig setAllowCreate(boolean allowCreate)
If this property is false and the internal store metadata database
does not exist, DatabaseException
will be thrown when the store
is opened.
allowCreate
- whether creation of a new store is allowed.public void setAllowCreateVoid(boolean allowCreate)
allowCreate
- whether creation of a new store is allowed.public boolean getAllowCreate()
public StoreConfig setExclusiveCreate(boolean exclusiveCreate)
If this property is true and the internal store metadata database
already exists, DatabaseException
will be thrown when the store
is opened.
exclusiveCreate
- whether opening an existing store is prohibited.public void setExclusiveCreateVoid(boolean exclusiveCreate)
exclusiveCreate
- whether opening an existing store is prohibited.public boolean getExclusiveCreate()
public StoreConfig setTransactional(boolean transactional)
This property is true to open all store indices for transactional access. True may not be specified if the environment is not also transactional.
transactional
- whether the store is transactional.public void setTransactionalVoid(boolean transactional)
transactional
- whether the store is transactional.public boolean getTransactional()
public void setEncrypted(java.lang.String password)
Because databases opened within environments use the password
specified to the environment, it is an error to attempt to set a
password in a database created within an environment. To encrypt
a database within an encrypted environment use
EnvironmentConfig.setEncrypted
Berkeley DB uses the Rijndael/AES (also known as the Advanced Encryption Standard and Federal Information Processing Standard (FIPS) 197) algorithm for encryption or decryption.
password
- the password used to perform encryption and decryptionpublic void enableEncrypted(boolean enable)
EnvironmentConfig.setEncrypted
To encrypt a database that does not use an environment, see
StoreConfig.setEncrypted
enable
- encryption on this database.public boolean getEncrypted()
This method may be called at any time during the life of the application.
public StoreConfig setReadOnly(boolean readOnly)
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.
readOnly
- whether the store is read-only.public void setReadOnlyVoid(boolean readOnly)
readOnly
- whether the store is read-only.public boolean getReadOnly()
public StoreConfig setSecondaryBulkLoad(boolean secondaryBulkLoad)
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.
secondaryBulkLoad
- whether bulk-load-secondaries is used.public void setSecondaryBulkLoadVoid(boolean secondaryBulkLoad)
secondaryBulkLoad
- whether bulk-load-secondaries is used.public boolean getSecondaryBulkLoad()
public StoreConfig setModel(EntityModel model)
If null is specified or this method is not called, an AnnotationModel
instance is used by default.
model
- the EntityModel.public void setModelVoid(EntityModel model)
model
- the EntityModel.public EntityModel getModel()
public StoreConfig setMutations(Mutations mutations)
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
.
mutations
- the Mutations.public void setMutationsVoid(Mutations mutations)
mutations
- the Mutations.public Mutations getMutations()
public StoreConfig setDatabaseNamer(DatabaseNamer databaseNamer)
DatabaseNamer.DEFAULT
.databaseNamer
- the DatabaseNamer.java.lang.NullPointerException
- if a null parameter value is passed.public void setDatabaseNamerVoid(DatabaseNamer databaseNamer)
databaseNamer
- the DatabaseNamer.public DatabaseNamer getDatabaseNamer()
public java.lang.String getPassword()
Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.