com.sleepycat.persist.raw

## Class RawStore

- java.lang.Object
- - com.sleepycat.persist.raw.RawStore

    public class RawStore
    extends java.lang.Object

Provides access to the raw data in a store for use by general purpose tools. A `RawStore` provides access to stored entities without using entity classes or key classes. Keys are represented as simple type objects or, for composite keys, as `RawObject` instances, and entities are represented as `RawObject` instances.

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

When using a `RawStore`, the current persistent class definitions are not used. Instead, the previously stored metadata and class definitions are used. This has several implications:

1. An `EntityModel` may not be specified using `StoreConfig.setModel(com.sleepycat.persist.model.EntityModel)`. In other words, the configured model must be null (the default).
2. When storing entities, their format will not automatically be evolved to the current class definition, even if the current class definition has changed.

### Constructor Summary

Constructors
Constructor and Description
`RawStore(Environment env, java.lang.String storeName, StoreConfig config)` Opens an entity store for raw data access.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()` Closes all databases and sequences that were opened by this model.
`StoreConfig` `getConfig()` Returns a copy of the entity store configuration.
`Environment` `getEnvironment()` Returns the environment associated with this store.
`EntityModel` `getModel()` Returns the last configured and stored entity model for this store.
`Mutations` `getMutations()` Returns the set of mutations that were configured and stored previously.
`PrimaryIndex<java.lang.Object,RawObject>` `getPrimaryIndex(java.lang.String entityClass)` Opens the primary index for a given entity class.
`SecondaryIndex<java.lang.Object,java.lang.Object,RawObject>` `getSecondaryIndex(java.lang.String entityClass, java.lang.String keyName)` Opens the secondary index for a given entity class and secondary key name.
`java.lang.String` `getStoreName()` Returns the name of this store.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RawStore

    public RawStore(Environment env,
                    java.lang.String storeName,
                    StoreConfig config)
             throws StoreNotFoundException,
                    DatabaseException

Opens an entity store for raw data access.

Parameters:
  `env` - an open Berkeley DB environment.
  `storeName` - the name of the entity store within the given environment.
  `config` - the store configuration, or null to use default configuration properties.
Throws:
  `StoreNotFoundException` - when the `AllowCreate` configuration parameter is false and the store's internal catalog database does not exist.
  `java.lang.IllegalArgumentException` - if the `Environment` is read-only and the `config ReadOnly` property is false.
  `DatabaseException` - the base class for all BDB exceptions.

### Method Detail

#### getPrimaryIndex

    public PrimaryIndex<java.lang.Object,RawObject> getPrimaryIndex(java.lang.String entityClass)
                                                             throws DatabaseException

Opens the primary index for a given entity class.

Parameters:
  `entityClass` - the name of the entity class.
Returns:
  the PrimaryIndex.
Throws:
  `DatabaseException` - the base class for all BDB exceptions.

#### getSecondaryIndex

    public SecondaryIndex<java.lang.Object,java.lang.Object,RawObject> getSecondaryIndex(java.lang.String entityClass,
                                                                                         java.lang.String keyName)
                                                                                  throws DatabaseException

Opens the secondary index for a given entity class and secondary key name.

Parameters:
  `entityClass` - the name of the entity class.
  `keyName` - the secondary key name.
Returns:
  the SecondaryIndex.
Throws:
  `DatabaseException` - the base class for all BDB exceptions.

#### getEnvironment

    public Environment getEnvironment()

Returns the environment associated with this store.

Returns:
  the Environment.

#### getConfig

    public StoreConfig getConfig()

Returns a copy of the entity store configuration.

Returns:
  the StoreConfig.

#### getStoreName

    public java.lang.String getStoreName()

Returns the name of this store.

Returns:
  the store name.

#### getModel

    public EntityModel getModel()

Returns the last configured and stored entity model for this store.

Returns:
  the EntityModel.

#### getMutations

    public Mutations getMutations()

Returns the set of mutations that were configured and stored previously.

Returns:
  the Mutations.

#### close

    public void close()
               throws DatabaseException

Closes all databases and sequences that were opened by this model. No databases opened via this store may be in use.

WARNING: To guard against memory leaks, the application should discard all references to the closed handle. While BDB makes an effort to discard references from closed objects to the allocated memory for an environment, this behavior is not guaranteed. The safe course of action for an application is to discard all references to closed BDB objects.

Throws:
  `DatabaseException` - the base class for all BDB exceptions.