org.modeshape.jcr
Enum JcrRepository.Option

java.lang.Object
  extended by java.lang.Enum<JcrRepository.Option>
      extended by org.modeshape.jcr.JcrRepository.Option
All Implemented Interfaces:
Serializable, Comparable<JcrRepository.Option>
Enclosing class:
JcrRepository

public static enum JcrRepository.Option
extends Enum<JcrRepository.Option>

The available options for the JcrRepository.


Enum Constant Summary
ANONYMOUS_USER_ROLES
          A comma-delimited list of default roles provided for anonymous access.
INDEX_READ_DEPTH
          The depth of the subgraphs that should be loaded from the connectors during indexing operations.
JAAS_LOGIN_CONFIG_NAME
          The JAAS application configuration name that specifies which login modules should be used to validate credentials.
PERFORM_REFERENTIAL_INTEGRITY_CHECKS
          A boolean flag that specifies whether referential integrity checks should be performed upon Session.save().
PROJECT_NODE_TYPES
          Flag that defines whether or not the node types should be exposed as content under the "/jcr:system/jcr:nodeTypes" node.
QUERY_EXECUTION_ENABLED
          A boolean flag that specifies whether this repository is expected to execute searches and queries.
QUERY_INDEX_DIRECTORY
          The system may maintain a set of indexes that improve the performance of searching and querying the content.
QUERY_INDEXES_UPDATED_SYNCHRONOUSLY
          A boolean flag that specifies whether updates to the indexes (if used) should be made synchronously, meaning that a call to Session.save() will not return until the search indexes have been completely updated.
READ_DEPTH
          The depth of the subgraphs that should be loaded from the connectors during normal read operations.
SYSTEM_SOURCE_NAME
          The name of the source (and optionally the workspace in the source) where the "/jcr:system" branch should be stored.
TABLES_INCLUDE_COLUMNS_FOR_INHERITED_PROPERTIES
          The query system represents node types as tables that can be queried, but there are two ways to define the columns for each of those tables.
 
Method Summary
static JcrRepository.Option findOption(String option)
          Determine the option given the option name.
static JcrRepository.Option valueOf(String name)
          Returns the enum constant of this type with the specified name.
static JcrRepository.Option[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

PROJECT_NODE_TYPES

public static final JcrRepository.Option PROJECT_NODE_TYPES
Flag that defines whether or not the node types should be exposed as content under the "/jcr:system/jcr:nodeTypes" node. Value is either "true" or "false" (default).

See Also:
JcrRepository.DefaultOption.PROJECT_NODE_TYPES

JAAS_LOGIN_CONFIG_NAME

public static final JcrRepository.Option JAAS_LOGIN_CONFIG_NAME
The JAAS application configuration name that specifies which login modules should be used to validate credentials.


SYSTEM_SOURCE_NAME

public static final JcrRepository.Option SYSTEM_SOURCE_NAME
The name of the source (and optionally the workspace in the source) where the "/jcr:system" branch should be stored. The format is "name of workspace@name of source", or simply "name of source" if the default workspace is to be used. If this option is not used, a transient in-memory source will be used.

Note that all leading and trailing whitespace is removed for both the source name and workspace name. Thus, a value of "@" implies a zero-length workspace name and zero-length source name.

Also, any use of the '@' character in source and workspace names must be escaped with a preceding backslash.


READ_DEPTH

public static final JcrRepository.Option READ_DEPTH
The depth of the subgraphs that should be loaded from the connectors during normal read operations. The default value is 1.


INDEX_READ_DEPTH

public static final JcrRepository.Option INDEX_READ_DEPTH
The depth of the subgraphs that should be loaded from the connectors during indexing operations. The default value is 10.


ANONYMOUS_USER_ROLES

public static final JcrRepository.Option ANONYMOUS_USER_ROLES
A comma-delimited list of default roles provided for anonymous access. A null or empty value for this option means that anonymous access is disabled.


TABLES_INCLUDE_COLUMNS_FOR_INHERITED_PROPERTIES

public static final JcrRepository.Option TABLES_INCLUDE_COLUMNS_FOR_INHERITED_PROPERTIES
The query system represents node types as tables that can be queried, but there are two ways to define the columns for each of those tables. One approach is that each table only has columns representing the (single-valued) property definitions explicitly defined by the node type. The other approach also adds columns for each of the (single-valued) property definitions inherited by the node type from all of the NodeType.getSupertypes().

The default value is 'true'.


QUERY_EXECUTION_ENABLED

public static final JcrRepository.Option QUERY_EXECUTION_ENABLED
A boolean flag that specifies whether this repository is expected to execute searches and queries. If client applications will never perform searches or queries, then maintaining the query indexes is an unncessary overhead, and can be disabled. Note that this is merely a hint, and that searches and queries might still work when this is set to 'false'.

The default is 'true', meaning that clients can execute searches and queries.


QUERY_INDEX_DIRECTORY

public static final JcrRepository.Option QUERY_INDEX_DIRECTORY
The system may maintain a set of indexes that improve the performance of searching and querying the content. These size of these indexes depend upon the size of the content being stored, and thus may consume a significant amount of space. This option defines a location on the file system where this repository may (if needed) store indexes so they don't consume large amounts of memory.

If specified, the value must be a valid path to a writable directory on the file system. If the path specifies a non-existant location, the repository may attempt to create the missing directories. The path may be absolute or relative to the location where this VM was started. If the specified location is not a readable and writable directory (or cannot be created as such), then this will generate an exception when the repository is created.

The default value is null, meaning the search indexes may not be stored on the local file system and, if needed, will be stored within memory.


QUERY_INDEXES_UPDATED_SYNCHRONOUSLY

public static final JcrRepository.Option QUERY_INDEXES_UPDATED_SYNCHRONOUSLY
A boolean flag that specifies whether updates to the indexes (if used) should be made synchronously, meaning that a call to Session.save() will not return until the search indexes have been completely updated. The benefit of synchronous updates is that a search or query performed immediately after a save() will operate upon content that was just changed. The downside is that the save() operation will take longer.

With asynchronous updates, however, the only work done during a save() invocation is that required to persist the changes in the underlying repository source, while changes to the search indexes are made in a different thread that may not run immediately. In this case, there may be an indeterminate lag before searching or querying after a save() will operate upon the changed content.

The default is value 'false', meaning the updates are performed asynchronously.


PERFORM_REFERENTIAL_INTEGRITY_CHECKS

public static final JcrRepository.Option PERFORM_REFERENTIAL_INTEGRITY_CHECKS
A boolean flag that specifies whether referential integrity checks should be performed upon Session.save(). By default, this option is enabled, meaning that referential integrity checks are performed to ensure that nodes referenced by other nodes cannot be removed.

If no PropertyType.REFERENCE properties are used within your content, these referential integrity checks will never find referring nodes. In these cases, you may be able to improve performance by skipping these checks.

The default value is 'true', meaning that these checks are performed.

Method Detail

values

public static JcrRepository.Option[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (JcrRepository.Option c : JcrRepository.Option.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static JcrRepository.Option valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

findOption

public static JcrRepository.Option findOption(String option)
Determine the option given the option name. This does more than valueOf(String), since this method first tries to match the supplied string to the option's name, then the uppercase version of the supplied string to the option's name, and finally if the supplied string is a camel-case version of the name (e.g., "projectNodeTypes").

Parameters:
option - the string version of the option's name
Returns:
the matching Option instance, or null if an option could not be matched using the supplied value


Copyright © 2008-2010 JBoss, a division of Red Hat. All Rights Reserved.