RawStore (Oracle - Berkeley DB Java API)
Date: 2017-04-13

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
    Modifier and Type | Method and Description
    --- | ---
    `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.

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