# com.bea.content.manager
RepositoryConfig Class

public class RepositoryConfig
extends `Object`

Represents the configuration of a content repository. Each Repository may have specific properties that are necessary in order to be properly configured. Please see the specific repositories documentation for configuration information.

****************WARNING****************

When getting binaries from the BEA Repository (including both a binary Node Property and also a binary PropertyChoice) the default is to return the InputStream as a ByteArrayInputStream, thus consuming server memory until the bytes are released. If your application will be reading in very large files, you may switch to streaming mode. This means that the InputStream returned may read directly from a database resource, depending on the database or driver. This is accomplished by creating a property on the RepositoryConfig called "STREAMING_ENABLED" with the value set to "true". To disable streaming you must remove the "STREAMING_ENABLED" property entirely. Switching to streaming mode must be done with caution as it places additional requirements on developers using the api. The issue is that the InputStream through a BLOB, may be attached to a database connection (or other transactional resource). The use of this stream must therefore be within the context of a transaction to ensure that it is isolated from uses by other threads, etc. If you don't begin a UserTransaction before calling this method and then either commit or rollback the tx after you close the InputStream, the connection may go back to the WLS connection Pool and will be reused by another thread. This will lead to deadlocking the server. All of the BEA code that uses the api (tags, servlets, portlets and admin tools) are all protected through the use of a transaction. For those that are calling the API directly, here is an example of wrapping the call in a tx with exception handling left out

     try {
         Context initCtx = new InitialContext();
         tx = (UserTransaction)initCtx.lookup( "java:comp/UserTransaction" );
         tx.setTransactionTimeout( transactionTimeout );
         tx.begin();
         bytes = nodeOps.getPropertyBytes(nodeId, propertyId);
         // empty the bytes
     }
     finally {
         // make sure to close InputStream
         if ( bytes != null ) {
             bytes.close();
         }
         if ( tx != null ) {
             switch ( tx.getStatus() ) {
                 case Status.STATUS_ACTIVE:
                     tx.commit();
                     break;
                 case Status.STATUS_MARKED_ROLLBACK:
                     tx.rollback();
                     break;
                 default:
                     // this is bad - an unexpected status
                     // throw exception
                     break;
             }
        }
     }

Hierarchy
  `Object`
  `RepositoryConfig`

## Field Summary

`public static final boolean` | `DEFAULT_BINARY_CACHE_IS_ENABLED` boolean
`public static final int` | `DEFAULT_BINARY_CACHE_MAX_ENTRIES` int
`public static final long` | `DEFAULT_BINARY_CACHE_MAX_ENTRY_SIZE` long
`public static final long` | `DEFAULT_BINARY_CACHE_TTL` long
`public static final `String`` | `DEFAULT_CLASS_NAME` String
`public static final boolean` | `DEFAULT_NODE_CACHE_IS_ENABLED` boolean
`public static final int` | `DEFAULT_NODE_CACHE_MAX_ENTRIES` int
`public static final long` | `DEFAULT_NODE_CACHE_TTL` long
`public static final `String`` | `DEFAULT_NODE_OPS_HOME` String
`public static final `String`` | `DEFAULT_OBJECT_CLASS_OPS_HOME` String
`public static final boolean` | `DEFAULT_READ_ONLY` boolean
`public static final `String`` | `DEFAULT_SEARCH_OPS_HOME` String
`public static final `String`` | `FILESYSTEM_CLASS_NAME` String
`public static final `String`` | `FILESYSTEM_DIRECTORY_KEY` String
`public static final `String`` | `FILESYSTEM_IS_LINKED` String
`public static final `String`` | `FILESYSTEM_NIO` String
`public static final `String`` | `FILESYSTEM_WEBAPP_KEY` String
`public static final `String`` | `MANAGEMENT_ENABLED_KEY` String
`public static final `String`` | `STREAMING_ENABLED_KEY` String

## Constructor Summary

RepositoryConfig(`String` name, `String` className, `Properties` properties, `String` userName, `String` password, boolean readOnly, int nodeCacheMaxEntries, long nodeCacheTtl, boolean nodeCacheIsEnabled, int binaryCacheMaxEntries, long binaryCacheMaxEntrySize, long binaryCacheTtl, boolean binaryCacheIsEnabled) Constructs an instance using all attributes.
RepositoryConfig(`String` name, `String` className, `Properties` properties) Constructs an instance with just name, className and properties using the defined DEFAULTS for other attributes.
RepositoryConfig(`String` name) Constructs an instance with just name using the defined DEFAULTS for other attributes.

## Method Summary

`public boolean` | `getBinaryCacheIsEnabled`() Gets the active state for the binary cache of a repository.
`public int` | `getBinaryCacheMaxEntries`() Gets the max entries for the binary cache of a repository.
`public long` | `getBinaryCacheMaxEntrySize`() Gets the max size for the binary cache of a repository.
`public long` | `getBinaryCacheTtl`() Gets the time-to-live for entries in a binary cache of a repository.
`public `String`` | `getClassName`() The class that implements com.bea.content.repostiory.Repository.
`public `String`` | `getName`() The name of the Repository.
`public boolean` | `getNodeCacheIsEnabled`() Gets the active state for the node cache of a repository.
`public int` | `getNodeCacheMaxEntries`() Gets the max entries for the node cache of a repository.
`public long` | `getNodeCacheTtl`() Gets the time-to-live for entries in a node cache of a repository.
`public `String`` | `getPassword`() Gets the password for the repository.
`public `Properties`` | `getProperties`() Gets the configuration properties for the repository.
`public boolean` | `getReadOnly`() Gets the read-only attribute for the repository.
`public `String`` | `getUserName`() Gets the username for the repository.
`public boolean` | `isManaged`() True if this repository is versionable, false otherwise.
`public boolean` | `isStreamable`() True if this repository is versionable, false otherwise.
`public `String`` | `toString`() Gets attributes as String.

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Detail

### DEFAULT_BINARY_CACHE_IS_ENABLED

    public static final boolean DEFAULT_BINARY_CACHE_IS_ENABLED

### DEFAULT_BINARY_CACHE_MAX_ENTRIES

    public static final int DEFAULT_BINARY_CACHE_MAX_ENTRIES

### DEFAULT_BINARY_CACHE_MAX_ENTRY_SIZE

    public static final long DEFAULT_BINARY_CACHE_MAX_ENTRY_SIZE

### DEFAULT_BINARY_CACHE_TTL

    public static final long DEFAULT_BINARY_CACHE_TTL

### DEFAULT_CLASS_NAME

    public static final String DEFAULT_CLASS_NAME

### DEFAULT_NODE_CACHE_IS_ENABLED

    public static final boolean DEFAULT_NODE_CACHE_IS_ENABLED

### DEFAULT_NODE_CACHE_MAX_ENTRIES

    public static final int DEFAULT_NODE_CACHE_MAX_ENTRIES

### DEFAULT_NODE_CACHE_TTL

    public static final long DEFAULT_NODE_CACHE_TTL

### DEFAULT_NODE_OPS_HOME

    public static final String DEFAULT_NODE_OPS_HOME

### DEFAULT_OBJECT_CLASS_OPS_HOME

    public static final String DEFAULT_OBJECT_CLASS_OPS_HOME

### DEFAULT_READ_ONLY

    public static final boolean DEFAULT_READ_ONLY

### DEFAULT_SEARCH_OPS_HOME

    public static final String DEFAULT_SEARCH_OPS_HOME

### FILESYSTEM_CLASS_NAME

    public static final String FILESYSTEM_CLASS_NAME

### FILESYSTEM_DIRECTORY_KEY

    public static final String FILESYSTEM_DIRECTORY_KEY

### FILESYSTEM_IS_LINKED

    public static final String FILESYSTEM_IS_LINKED

### FILESYSTEM_NIO

    public static final String FILESYSTEM_NIO

### FILESYSTEM_WEBAPP_KEY

    public static final String FILESYSTEM_WEBAPP_KEY

### MANAGEMENT_ENABLED_KEY

    public static final String MANAGEMENT_ENABLED_KEY

### STREAMING_ENABLED_KEY

    public static final String STREAMING_ENABLED_KEY

## Constructor Detail

### RepositoryConfig

    public RepositoryConfig(String name,
                            String className,
                            Properties properties,
                            String userName,
                            String password,
                            boolean readOnly,
                            int nodeCacheMaxEntries,
                            long nodeCacheTtl,
                            boolean nodeCacheIsEnabled,
                            int binaryCacheMaxEntries,
                            long binaryCacheMaxEntrySize,
                            long binaryCacheTtl,
                            boolean binaryCacheIsEnabled)

  Constructs an instance using all attributes.

### RepositoryConfig

    public RepositoryConfig(String name,
                            String className,
                            Properties properties)

  Constructs an instance with just name, className and properties using the defined DEFAULTS for other attributes.

### RepositoryConfig

    public RepositoryConfig(String name)

  Constructs an instance with just name using the defined DEFAULTS for other attributes.

## Method Detail

### getBinaryCacheIsEnabled() Method

    public boolean getBinaryCacheIsEnabled()

Gets the active state for the binary cache of a repository.

### getBinaryCacheMaxEntries() Method

    public int getBinaryCacheMaxEntries()

Gets the max entries for the binary cache of a repository.

### getBinaryCacheMaxEntrySize() Method

    public long getBinaryCacheMaxEntrySize()

Gets the max size for the binary cache of a repository.

### getBinaryCacheTtl() Method

    public long getBinaryCacheTtl()

Gets the time-to-live for entries in a binary cache of a repository.

### getClassName() Method

    public String getClassName()

The class that implements com.bea.content.repostiory.Repository.

### getName() Method

    public String getName()

The name of the Repository.

### getNodeCacheIsEnabled() Method

    public boolean getNodeCacheIsEnabled()

Gets the active state for the node cache of a repository.

### getNodeCacheMaxEntries() Method

    public int getNodeCacheMaxEntries()

Gets the max entries for the node cache of a repository.

### getNodeCacheTtl() Method

    public long getNodeCacheTtl()

Gets the time-to-live for entries in a node cache of a repository.

### getPassword() Method

    public String getPassword()

Gets the password for the repository.

### getProperties() Method

    public Properties getProperties()

Gets the configuration properties for the repository.

### getReadOnly() Method

    public boolean getReadOnly()

Gets the read-only attribute for the repository.

### getUserName() Method

    public String getUserName()

Gets the username for the repository.

### isManaged() Method

    public boolean isManaged()

True if this repository is versionable, false otherwise.

### isStreamable() Method

    public boolean isStreamable()

True if this repository is versionable, false otherwise.

### toString() Method

    public String toString()

Gets attributes as String.

Overrides
  `Object.toString()`