Package com.complexible.stardog.db

# Class DatabaseOptions

java.lang.Object
com.complexible.stardog.db.DatabaseOptions

All Implemented Interfaces:
  `MetaPropertyProvider`

public final class DatabaseOptions extends Object implements MetaPropertyProvider

Non-structural database options. These options, unlike `IndexOptions`, are not relevant to reading or creating the database. This set of options is for controlling behavior of the database as it lives within a Stardog DBMS.

Since:
  0.7
Author:
  Michael Grove, Evren Sirin, Edgar Rodriguez-Diaz, Fernando Hernandez

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `DatabaseOptions.InlineStoredQuery`
  `static enum`
  `DatabaseOptions.LanguageNormalization`
  Different types of datatype normalization algorithms supported by Stardog.
  `static enum`
  `DatabaseOptions.TransactionIsolation`
  Different types of transaction isolation supported by Stardog.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ConfigProperty<Collection<String>>`
  `ARCHETYPES`
  The name of one or more database archetypes, used to associate ontologies and constraints with new databases.
  `static final ConfigProperty<Boolean>`
  `AUTO_SCHEMA_REASONING`
  `static final ConfigProperty<String>`
  `BULK_LOAD_STREAM_ARGS`
  `static final ConfigProperty<String>`
  `BULK_LOAD_STREAM_FACTORY`
  `static final ConfigProperty<Boolean>`
  `CATALOG_SCHEMA_EXPORT`
  `static final ConfigProperty<Duration>`
  `CONNECTION_TIMEOUT`
  The amount of time a connection to the database can be open, but inactive, before being automatically closed to reclaim the resources.
  `static final InfoProperty<DateTime>`
  `CREATION_TIME`
  Creation time of the database.
  `static final InfoProperty<Long>`
  `CREATION_TX`
  The transaction ID at which this DB was created.
  `static final InfoProperty<String>`
  `CREATOR`
  Creator of the database.
  `static final long`
  `DEFAULT_OFFLINE_TIMEOUT`
  Default offline timeout (in ms)
  `static final ConfigProperty<Boolean>`
  `EDGE_PROPERTIES`
  Option for enabling edge properties that allows RDF statements to appear as subjects of RDF statements (aka RDF*).
  `static final ConfigProperty<com.complexible.stardog.index.EqualityReasoningLevel>`
  `EQUALITY_REASONING`
  `static final ConfigProperty<Boolean>`
  `EXTENDED_COMPARISON`
  Controls whether query evaluation will use extended literal comparison (`true`, the default).
  `static final ConfigProperty<Boolean>`
  `FAILED_INITIALIZE`
  Internal signaling property, if the database failed to initialize.
  `static final ConfigProperty<Boolean>`
  `GRAPH_ALIASES`
  `static final ConfigProperty<Boolean>`
  `IGNORE_BULK_LOAD_FILE_ERRORS`
  Ignore file errors while doing a bulk load
  `static final ConfigProperty<DatabaseOptions.InlineStoredQuery>`
  `INLINE_STORED_QUERY`
  `static final ConfigProperty<List<IRI>>`
  `LABEL_PROPERTIES`
  `static final ConfigProperty<DatabaseOptions.LanguageNormalization>`
  `LANGUAGE_NORMALIZATION`
  Configuration option for determining the normalization algorithm for the language tags of literals.
  `static final ConfigProperty<Collection<String>>`
  `LOCAL_IRI_TEMPLATE_EXCLUDES`
  `static final ConfigProperty<Collection<String>>`
  `LOCAL_IRI_TEMPLATE_INCLUDES`
  `static final ConfigProperty<Boolean>`
  `LUCENE_MMAP`
  Option to enable memory-mapping in lucene indices (e.g., search, spatial).
  `static final ConfigProperty<Boolean>`
  `MEDIA_ENABLED`
  `static final InfoProperty<DateTime>`
  `MODIFICATION_TIME`
  Last modification time for the database.
  `static final ConfigProperty<String>`
  `NAME`
  Name of the database.
  `static final ConfigProperty<Collection<Namespace>>`
  `NAMESPACES`
  The default namespaces for the database.
  `static final ConfigProperty<Duration>`
  `NATIVE_METRICS_REPORTING_INTERVAL`
  `static final ConfigProperty<Boolean>`
  `ONLINE`
  Option for whether or not the database is online.
  `static final String`
  `OPTION_QUERY_LOG_ENABLED`
  `static final String`
  `PARSER_OPTION_PREFIX`
  Any metadata property whose name starts with this prefix will be propagated to the parser.
  `static final Map<MetaProperty<?>,Option<?>>`
  `PARSER_OPTIONS`
  Mapping of database options to corresponding `parser options`.
  `static final ConfigProperty<Boolean>`
  `PRESERVE_BNODE_IDS`
  This option controls if the parser should preserve bnode identifiers specified in the source.
  `static final ConfigProperty<Boolean>`
  `PROGRESS_MONITOR_ENABLED`
  When enabled, the progress of various tasks will be printed in the server log.
  `static final ConfigProperty<Boolean>`
  `QUERY_ALL_GRAPHS`
  This option controls the behavior for answering queries that don't specify a dataset (FROM or FROM NAMED) in the query.
  `static final ConfigProperty<String>`
  `QUERY_DESCRIBE_STRATEGY`
  Option to set the default DESCRIBE query strategy for the database.
  `static final ConfigProperty<Long>`
  `QUERY_DICTIONARY_SIZE_THRESHOLD`
  Configuration option for the max number of entries in the query-local dictionary before a persistent data structure is used (which can spill data to disk).
  `static final ConfigProperty<Boolean>`
  `QUERY_EQUALITY_IDENTITY`
  `static final ConfigProperty<Boolean>`
  `QUERY_LOG_ENABLED`
  Config option to enable or disable the query logging on a per database level.
  `static final ConfigProperty<String>`
  `QUERY_MEMORY_LIMIT`
  Configuration option for determining the memory limit used by query;
  `static final ConfigProperty<com.complexible.stardog.QueryMemoryExceedsStrategy>`
  `QUERY_MM_EXCEEDS_STRATEGY`
  Configuration option for determining strategy for the query behaviour once memory limit @{#OPTION_QUERY_MM_MEMORY_LIMIT} reached;
  `static final ConfigProperty<QueryPlanReuse>`
  `QUERY_PLAN_REUSE`
  This option determines how Stardog will reuse cached query plans.
  `static final ConfigProperty<Duration>`
  `QUERY_TIMEOUT`
  Determines max execution time for read query evaluation.
  `static final ConfigProperty<Boolean>`
  `QUERY_UPDATE_GRAPH_DIFF`
  Configuration option for determining the update procedure that will be used for SPARQL update queries ADD, COPY and MOVE.
  `static final ConfigProperty<Duration>`
  `QUERY_UPDATE_TIMEOUT`
  Determines max execution time for SPARQL update query evaluation.
  `static final ConfigProperty<Integer>`
  `SERVICE_PREFETCH_THRESHOLD`
  `static final ConfigProperty<String>`
  `SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX`
  `static final ConfigProperty<Long>`
  `SPARQL_SERVICE_RESULT_LIMIT`
  `static final ConfigProperty<IRI>`
  `SQL_SCHEMA_GRAPH`
  Option for the named graph which stores BI/SQL schema mapping
  `static final ConfigProperty<Boolean>`
  `STRICT_PARSING`
  Controls whether Stardog parses RDF strictly (true, the default) or loosely (false)
  `static final ConfigProperty<Collection<String>>`
  `SYSTEM_GRAPHS`
  `static final ConfigProperty<DatabaseOptions.TransactionIsolation>`
  `TRANSACTION_ISOLATION`
  Configuration option for setting the isolation level for transactions.
  `static final ConfigProperty<Boolean>`
  `TRANSACTION_LOGGING`
  Option for whether or not the database logs all transactions events to disk.
  `static final ConfigProperty<Integer>`
  `TRANSACTION_LOGGING_CHUNK_SIZE`
  Number of statements per chunk when writing to the transaction log.
  `static final ConfigProperty<Boolean>`
  `TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES`
  When `TRANSACTION_LOGGING` is true and `TRANSACTION_LOGGING_ROTATION_REMOVE` is false, this option controls whether we keep backups of the rotated log file.
  `static final ConfigProperty<Boolean>`
  `TRANSACTION_LOGGING_ROTATION_REMOVE`
  When `TRANSACTION_LOGGING` is true, this option is for whether the rotated log will be kept or removed.
  `static final ConfigProperty<String>`
  `TRANSACTION_LOGGING_ROTATION_SIZE`
  Option for the max size for logged transactions on disk.
  `static final ConfigProperty<Boolean>`
  `TRANSACTION_LOGGING_USE_ROTATED`
  Option for whether or not the synchronization process should use rotated log during synchronization in Cluster mode.
  `static final ConfigProperty<Boolean>`
  `TX_COMMIT_2P`
  `static final ConfigProperty<String>`
  `TYPE`
  Type of the database.
  `static final ConfigProperty<Boolean>`
  `VIRTUAL_TRANSPARENCY`
  Option for whether to include virtual graphs for graph variable queries.
  `static final ConfigProperty<Boolean>`
  `VOICEBOX_ENABLED`
  Config option to enable or disable the Voicebox AI features on a per database level.
  `static final ConfigProperty<Collection<String>>`
  `VOICEBOX_EXAMPLE_QUESTIONS`
  `static final ConfigProperty<Integer>`
  `VOICEBOX_MAX_SCHEMA_SIZE`
  `static final ConfigProperty<Boolean>`
  `VOICEBOX_OPTIMIZE`
  `static final ConfigProperty<Collection<String>>`
  `VOICEBOX_PREPROCESORS`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <T> void`
  `copyOption(Metadata theMetadata, MetaProperty<T> theProp, Options theOptions, Option<T> theOption)`
  Copies one option from the metadata to the options if it already does not exist in the options.
  `static void`
  `copyParserOptions(Metadata theMetadata, Options theOptions)`
  Copies parser properties from the metadata to the options.
  `static Metadata`
  `defaults(String theName)`
  `static Options`
  `getParserConfig(Metadata theMetadata)`
  Creates a `parser config` with the given options.
  `static Options`
  `getParserOptions(Metadata theMetadata)`
  Extracts the `parser options` from the metadata.

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

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

- ## Field Details

  - ### OPTION_QUERY_LOG_ENABLED

    public static final String OPTION_QUERY_LOG_ENABLED
    See Also:
      - Constant Field Values

  - ### NATIVE_METRICS_REPORTING_INTERVAL

    public static final ConfigProperty<Duration> NATIVE_METRICS_REPORTING_INTERVAL

  - ### EQUALITY_REASONING

    public static final ConfigProperty<com.complexible.stardog.index.EqualityReasoningLevel> EQUALITY_REASONING

  - ### CATALOG_SCHEMA_EXPORT

    public static final ConfigProperty<Boolean> CATALOG_SCHEMA_EXPORT

  - ### AUTO_SCHEMA_REASONING

    public static final ConfigProperty<Boolean> AUTO_SCHEMA_REASONING

  - ### STRICT_PARSING

    public static final ConfigProperty<Boolean> STRICT_PARSING
    Controls whether Stardog parses RDF strictly (true, the default) or loosely (false)

  - ### EXTENDED_COMPARISON

    public static final ConfigProperty<Boolean> EXTENDED_COMPARISON

    Controls whether query evaluation will use extended literal comparison (`true`, the default). The SPARQL spec does not define an ordering relationship between literals of different types (Section 15.1 ORDER BY) and equality check between two literals will produce a type error if the literals are not same (Section 17.4.1.7 RDFterm-equal). This results in unintuitive results such as the expression `"123"^^xsd:int != "ABC"` evaluating to `false`. Stardog extends the `'<'` operator (17.3.1 Operator Extensibility) such that literals of different datatypes are first compared based on their string values and then based on the string value of their datatypes. If this option is disabled literal comparison will be done as to produce type errors.

  - ### PRESERVE_BNODE_IDS

    public static final ConfigProperty<Boolean> PRESERVE_BNODE_IDS
    This option controls if the parser should preserve bnode identifiers specified in the source. Preserving bnode identifiers help speed parsing and loading time but it also has an important side-effect that if two distinct files using the same bnode identifier are loaded to the same database, the bnode in different files will end up pointing to the same node in the database. If the input files do not use bnode identifiers (e.g. in Turtle syntax only [] are used for bnodes) then this configuration option has no effect since such bnodes are always assigned a unique identifier. But if input files use explicit bnode identifiers (e.g. _:bnode1 in Turtle syntax) and multiple files may use same bnode identifiers then this configuration option should be turned off.

    Default value: true

  - ### NAME

    public static final ConfigProperty<String> NAME
    Name of the database.

  - ### CREATOR

    public static final InfoProperty<String> CREATOR
    Creator of the database.

  - ### TYPE

    public static final ConfigProperty<String> TYPE
    Type of the database.

  - ### IGNORE_BULK_LOAD_FILE_ERRORS

    public static final ConfigProperty<Boolean> IGNORE_BULK_LOAD_FILE_ERRORS
    Ignore file errors while doing a bulk load

  - ### BULK_LOAD_STREAM_FACTORY

    public static final ConfigProperty<String> BULK_LOAD_STREAM_FACTORY

  - ### BULK_LOAD_STREAM_ARGS

    public static final ConfigProperty<String> BULK_LOAD_STREAM_ARGS

  - ### CREATION_TX

    public static final InfoProperty<Long> CREATION_TX
    The transaction ID at which this DB was created. Default should be null.

  - ### CREATION_TIME

    public static final InfoProperty<DateTime> CREATION_TIME
    Creation time of the database.

  - ### MODIFICATION_TIME

    public static final InfoProperty<DateTime> MODIFICATION_TIME
    Last modification time for the database.

  - ### TRANSACTION_LOGGING

    public static final ConfigProperty<Boolean> TRANSACTION_LOGGING
    Option for whether or not the database logs all transactions events to disk. When a database is created in Cluster mode, the default will be true.

  - ### TRANSACTION_LOGGING_USE_ROTATED

    public static final ConfigProperty<Boolean> TRANSACTION_LOGGING_USE_ROTATED
    Option for whether or not the synchronization process should use rotated log during synchronization in Cluster mode.

  - ### VIRTUAL_TRANSPARENCY

    public static final ConfigProperty<Boolean> VIRTUAL_TRANSPARENCY
    Option for whether to include virtual graphs for graph variable queries. The default is false.

  - ### LOCAL_IRI_TEMPLATE_INCLUDES

    public static final ConfigProperty<Collection<String>> LOCAL_IRI_TEMPLATE_INCLUDES

  - ### LOCAL_IRI_TEMPLATE_EXCLUDES

    public static final ConfigProperty<Collection<String>> LOCAL_IRI_TEMPLATE_EXCLUDES

  - ### EDGE_PROPERTIES

    public static final ConfigProperty<Boolean> EDGE_PROPERTIES
    Option for enabling edge properties that allows RDF statements to appear as subjects of RDF statements (aka RDF*). The default is false.

  - ### TRANSACTION_LOGGING_ROTATION_SIZE

    public static final ConfigProperty<String> TRANSACTION_LOGGING_ROTATION_SIZE
    Option for the max size for logged transactions on disk. It has no effect without `TRANSACTION_LOGGING`. When `TRANSACTION_LOGGING_USE_ROTATED` is enabled, total disk usage can be up to twice this value since both the active log and the rotated log are capped at this limit.
    See Also:
      - `TRANSACTION_LOGGING`
      - `TRANSACTION_LOGGING_USE_ROTATED`

  - ### TRANSACTION_LOGGING_ROTATION_REMOVE

    public static final ConfigProperty<Boolean> TRANSACTION_LOGGING_ROTATION_REMOVE
    When `TRANSACTION_LOGGING` is true, this option is for whether the rotated log will be kept or removed.
    See Also:
      - `TRANSACTION_LOGGING_ROTATION_SIZE`
      - `TRANSACTION_LOGGING`

  - ### TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES

    public static final ConfigProperty<Boolean> TRANSACTION_LOGGING_KEEP_ROTATED_BACKUP_FILES
    When `TRANSACTION_LOGGING` is true and `TRANSACTION_LOGGING_ROTATION_REMOVE` is false, this option controls whether we keep backups of the rotated log file. By default, we do not maintain backups since we could fill up the disk with backup files.
    See Also:
      - `TRANSACTION_LOGGING_ROTATION_REMOVE`
      - `TRANSACTION_LOGGING`

  - ### TRANSACTION_LOGGING_CHUNK_SIZE

    public static final ConfigProperty<Integer> TRANSACTION_LOGGING_CHUNK_SIZE
    Number of statements per chunk when writing to the transaction log. Chunking allows small transactions to interleave with large ones.
    See Also:
      - `TRANSACTION_LOGGING`

  - ### ONLINE

    public static final ConfigProperty<Boolean> ONLINE
    Option for whether or not the database is online. The value for this option at database creation time determines the initial state of the database. This option cannot be modified directly after the database has been created. The special admin functions should be used to change the value of this option.

  - ### FAILED_INITIALIZE

    public static final ConfigProperty<Boolean> FAILED_INITIALIZE
    Internal signaling property, if the database failed to initialize.

  - ### QUERY_ALL_GRAPHS

    public static final ConfigProperty<Boolean> QUERY_ALL_GRAPHS

    This option controls the behavior for answering queries that don't specify a dataset (FROM or FROM NAMED) in the query. In such cases, the SPARQL specification says that the query should be answered only using the information in default graph (no context). However, sometimes it is desirable to answer such queries using all the information in the database including the default graph and all named graphs. Setting this option to true changes the behavior of Stardog to do this. The queries that specify a dataset are not affected by this option.

  - ### QUERY_PLAN_REUSE

    public static final ConfigProperty<QueryPlanReuse> QUERY_PLAN_REUSE

    This option determines how Stardog will reuse cached query plans. See `QueryPlanReuse` for more details.

  - ### NAMESPACES

    public static final ConfigProperty<Collection<Namespace>> NAMESPACES
    The default namespaces for the database. Legal input is a comma-separated list of <prefix>=<namespace> values.

  - ### CONNECTION_TIMEOUT

    public static final ConfigProperty<Duration> CONNECTION_TIMEOUT
    The amount of time a connection to the database can be open, but inactive, before being automatically closed to reclaim the resources.

  - ### QUERY_TIMEOUT

    public static final ConfigProperty<Duration> QUERY_TIMEOUT
    Determines max execution time for read query evaluation.

  - ### QUERY_UPDATE_TIMEOUT

    public static final ConfigProperty<Duration> QUERY_UPDATE_TIMEOUT
    Determines max execution time for SPARQL update query evaluation.

  - ### ARCHETYPES

    public static final ConfigProperty<Collection<String>> ARCHETYPES
    The name of one or more database archetypes, used to associate ontologies and constraints with new databases. Built-in archetypes are "PROV" and "SKOS", see the docs for instructions to create your own.

  - ### LUCENE_MMAP

    public static final ConfigProperty<Boolean> LUCENE_MMAP
    Option to enable memory-mapping in lucene indices (e.g., search, spatial). Memory mapping is enabled by default.

  - ### QUERY_DESCRIBE_STRATEGY

    public static final ConfigProperty<String> QUERY_DESCRIBE_STRATEGY
    Option to set the default DESCRIBE query strategy for the database. Built-in strategies include "default", "cbd" and "bidirectional.

  - ### QUERY_EQUALITY_IDENTITY

    public static final ConfigProperty<Boolean> QUERY_EQUALITY_IDENTITY

  - ### TRANSACTION_ISOLATION

    public static final ConfigProperty<DatabaseOptions.TransactionIsolation> TRANSACTION_ISOLATION
    Configuration option for setting the isolation level for transactions.
    See Also:
      - Isolation

  - ### LANGUAGE_NORMALIZATION

    public static final ConfigProperty<DatabaseOptions.LanguageNormalization> LANGUAGE_NORMALIZATION
    Configuration option for determining the normalization algorithm for the language tags of literals.

  - ### PROGRESS_MONITOR_ENABLED

    public static final ConfigProperty<Boolean> PROGRESS_MONITOR_ENABLED
    When enabled, the progress of various tasks will be printed in the server log.

  - ### QUERY_UPDATE_GRAPH_DIFF

    public static final ConfigProperty<Boolean> QUERY_UPDATE_GRAPH_DIFF
    Configuration option for determining the update procedure that will be used for SPARQL update queries ADD, COPY and MOVE. By default, Stardog will compute the diff between the source and the destination graphs and only apply the diff to the destination graph.

  - ### QUERY_MEMORY_LIMIT

    public static final ConfigProperty<String> QUERY_MEMORY_LIMIT
    Configuration option for determining the memory limit used by query;

  - ### QUERY_MM_EXCEEDS_STRATEGY

    public static final ConfigProperty<com.complexible.stardog.QueryMemoryExceedsStrategy> QUERY_MM_EXCEEDS_STRATEGY
    Configuration option for determining strategy for the query behaviour once memory limit @{#OPTION_QUERY_MM_MEMORY_LIMIT} reached;

  - ### QUERY_LOG_ENABLED

    public static final ConfigProperty<Boolean> QUERY_LOG_ENABLED
    Config option to enable or disable the query logging on a per database level. Only relevant in conjunction with the query log module.

  - ### QUERY_DICTIONARY_SIZE_THRESHOLD

    public static final ConfigProperty<Long> QUERY_DICTIONARY_SIZE_THRESHOLD
    Configuration option for the max number of entries in the query-local dictionary before a persistent data structure is used (which can spill data to disk). The default value is 100K.

  - ### GRAPH_ALIASES

    public static final ConfigProperty<Boolean> GRAPH_ALIASES

  - ### SPARQL_SERVICE_RESULT_LIMIT

    public static final ConfigProperty<Long> SPARQL_SERVICE_RESULT_LIMIT

  - ### SERVICE_PREFETCH_THRESHOLD

    public static final ConfigProperty<Integer> SERVICE_PREFETCH_THRESHOLD

  - ### SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX

    public static final ConfigProperty<String> SPARQL_SERVICE_CREDENTIALS_PASSTHROUGH_REGEX

  - ### TX_COMMIT_2P

    public static final ConfigProperty<Boolean> TX_COMMIT_2P

  - ### INLINE_STORED_QUERY

    public static final ConfigProperty<DatabaseOptions.InlineStoredQuery> INLINE_STORED_QUERY

  - ### LABEL_PROPERTIES

    public static final ConfigProperty<List<IRI>> LABEL_PROPERTIES

  - ### MEDIA_ENABLED

    public static final ConfigProperty<Boolean> MEDIA_ENABLED

  - ### VOICEBOX_ENABLED

    public static final ConfigProperty<Boolean> VOICEBOX_ENABLED
    Config option to enable or disable the Voicebox AI features on a per database level.

  - ### VOICEBOX_OPTIMIZE

    public static final ConfigProperty<Boolean> VOICEBOX_OPTIMIZE

  - ### VOICEBOX_PREPROCESORS

    public static final ConfigProperty<Collection<String>> VOICEBOX_PREPROCESORS

  - ### VOICEBOX_EXAMPLE_QUESTIONS

    public static final ConfigProperty<Collection<String>> VOICEBOX_EXAMPLE_QUESTIONS

  - ### VOICEBOX_MAX_SCHEMA_SIZE

    public static final ConfigProperty<Integer> VOICEBOX_MAX_SCHEMA_SIZE

  - ### SQL_SCHEMA_GRAPH

    public static final ConfigProperty<IRI> SQL_SCHEMA_GRAPH
    Option for the named graph which stores BI/SQL schema mapping

  - ### SYSTEM_GRAPHS

    public static final ConfigProperty<Collection<String>> SYSTEM_GRAPHS

  - ### DEFAULT_OFFLINE_TIMEOUT

    public static final long DEFAULT_OFFLINE_TIMEOUT
    Default offline timeout (in ms)

  - ### PARSER_OPTION_PREFIX

    public static final String PARSER_OPTION_PREFIX
    Any metadata property whose name starts with this prefix will be propagated to the parser.
    See Also:
      - Constant Field Values

  - ### PARSER_OPTIONS

    public static final Map<MetaProperty<?>,Option<?>> PARSER_OPTIONS
    Mapping of database options to corresponding `parser options`.

- ## Method Details

  - ### defaults

    public static Metadata defaults(String theName)

  - ### getParserOptions

    public static Options getParserOptions(Metadata theMetadata)
    Extracts the `parser options` from the metadata.

  - ### copyParserOptions

    public static void copyParserOptions(Metadata theMetadata, Options theOptions)
    Copies parser properties from the metadata to the options. Parser properties are those `explicitly enumerated` as well as those whose name starts with `PARSER_OPTION_PREFIX`. Options that already exist will not be overwritten.

  - ### copyOption

    public static <T> void copyOption(Metadata theMetadata, MetaProperty<T> theProp, Options theOptions, Option<T> theOption)
    Copies one option from the metadata to the options if it already does not exist in the options.

  - ### getParserConfig

    public static Options getParserConfig(Metadata theMetadata)
    Creates a `parser config` with the given options.