# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

ClassResolver-name: Class resolver
ClassResolver-desc: The org.apache.openjpa.util.ClassResolver implementation \
    that should be used for class resolution.  Defaults to a spec-compliant \
    resolver.
ClassResolver-type: General
ClassResolver-cat: Persistence.Classes
ClassResolver-displayorder: 50
ClassResolver-expert: true
ClassResolver-interface: org.apache.openjpa.util.ClassResolver

BrokerFactory-name: BrokerFactory implementation
BrokerFactory-desc: The name of the org.apache.openjpa.kernel.BrokerFactory \
    class that Bootstrap.getBrokerFactory should create.  Typically \
	org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory
BrokerFactory-type: Persistence
BrokerFactory-cat: Persistence.Advanced
BrokerFactory-displayorder: 50

BrokerImpl-name: Broker implementation
BrokerImpl-desc: Broker plugin and properties.  If you use a custom class, it \
	must extend org.apache.openjpa.kernel.BrokerImpl.
BrokerImpl-type: General
BrokerImpl-cat: Persistence.Advanced
BrokerImpl-displayorder: 50
BrokerImpl-expert: true
BrokerImpl-interface: org.apache.openjpa.kernel.BrokerImpl

DataCache-name: Data cache
DataCache-desc: Plugin used to cache data loaded from the data store. Must \
	implement org.apache.openjpa.datacache.DataCache.
DataCache-type: General
DataCache-cat: Cache
DataCache-displayorder: 50
DataCache-expert: true
DataCache-interface: org.apache.openjpa.datacache.DataCache

DataCacheManager-name: Data cache
DataCacheManager-desc: Plugin used to manage configuration''s cache instances.
DataCacheManager-type: General
DataCacheManager-cat: Cache
DataCacheManager-displayorder: 50
DataCacheManager-expert: true
DataCacheManager-interface: org.apache.openjpa.datacache.DataCacheManager

DataCacheTimeout-name: Default data cache timeout
DataCacheTimeout-desc: The number of milliseconds that data in the data cache \
	is valid for. A value of 0 or less means that by default, cached data does \
	not time out.
DataCacheTimeout-type: General
DataCacheTimeout-cat: Cache
DataCacheTimeout-displayorder: 50
DataCacheTimeout-expert: true

QueryCache-name: Query cache
QueryCache-desc: Plugin used to cache query results loaded from the data \
	store. Must implement org.apache.openjpa.datacache.QueryCache.
QueryCache-type: General
QueryCache-cat: Cache.Queries
QueryCache-displayorder: 50
QueryCache-expert: true
QueryCache-interface: org.apache.openjpa.datacache.QueryCache

QueryCompilationCache-name: Query compilation cache
QueryCompilationCache-desc: Plugin used to cache query compilation data. \
	Must implement java.util.Map. Does not need to be thread-safe -- it will \
	be wrapped via the Collections.synchronizedMap() method if it does not \
	extend org.apache.openjpa.util.CacheMap.
QueryCompilationCache-type: General
QueryCompilationCache-cat: Cache.Queries
QueryCompilationCache-displayorder: 50
QueryCompilationCache-expert: true
QueryCompilationCache-interface: java.util.Map

RemoteCommitProvider-name: Remote commit provider
RemoteCommitProvider-desc: Plugin used to communicate commit information \
	among JVMs. Must implement org.apache.openjpa.event.RemoteCommitProvider.
RemoteCommitProvider-type: General
RemoteCommitProvider-cat: Cache
RemoteCommitProvider-displayorder: 50
RemoteCommitProvider-expert: true
RemoteCommitProvider-interface: org.apache.openjpa.event.RemoteCommitProvider

TransactionMode-name: Transaction mode
TransactionMode-desc: Either "local" or "managed".
TransactionMode-type: Connecting
TransactionMode-cat: Persistence.Transactions
TransactionMode-displayorder: 50

ManagedRuntime-name: Managed runtime
ManagedRuntime-desc: Plugin used to integrate with an external transaction \
	manager.  Must implement org.apache.openjpa.kernel.ManagedRuntime.
ManagedRuntime-type: General
ManagedRuntime-cat: Persistence.Advanced
ManagedRuntime-displayorder: 50
ManagedRuntime-expert: true
ManagedRuntime-interface: org.apache.openjpa.ee.ManagedRuntime

FetchBatchSize-name: Default fetch batch size
FetchBatchSize-desc: The number of rows that will be pre-fetched when \
	an element in a result is accessed.  Use -1 to pre-fetch all results.
FetchBatchSize-type: Optimization
FetchBatchSize-cat: Fetching
FetchBatchSize-displayorder: 50
FetchBatchSize-expert: true

MaxFetchDepth-name: Maximum fetch depth.
MaxFetchDepth-desc: The maximum relation depth to traverse when eager \
    fetching, or -1 for no limit.
MaxFetchDepth-type: Optimization
MaxFetchDepth-cat: Fetching
MaxFetchDepth-displayorder: 50
MaxFetchDepth-expert: true

FetchGroups-name: Fetch groups to add to default fetch group
FetchGroups-desc: A comma-separated list of fetch group names that will be \
	loaded by default when fetching data from the data store.
FetchGroups-type: Optimization
FetchGroups-cat: Fetching
FetchGroups-displayorder: 50
FetchGroups-expert: true

FlushBeforeQueries-name: Automatically flush changes before queries
FlushBeforeQueries-desc: Whether or not OpenJPA should automatically flush \
	modifications to the data store before executing queries.
FlushBeforeQueries-type: General
FlushBeforeQueries-cat: Queries
FlushBeforeQueries-displayorder: 50
FlushBeforeQueries-expert: true

LockTimeout-name: Object lock timeout
LockTimeout-desc: The number of milliseconds to wait for an object lock before \
	throwing an exception, or -1 for no limit.
LockTimeout-type: Optimization
LockTimeout-cat: Locking
LockTimeout-displayorder: 50
LockTimeout-expert: true

QueryTimeout-name: Statement query timeout
QueryTimeout-desc: The number of milliseconds to wait for a query timeout \
        before throwing an exception, or -1 for no limit.
QueryTimeout-type: Optimization
QueryTimeout-cat: Queries
QueryTimeout-displayorder: 50
QueryTimeout-expert: true

ReadLockLevel-name: Default transactional read lock level
ReadLockLevel-desc: The default lock level to use when loading objects within \
	non-optimistic transactions.  Set to none, read, write, or the numeric \
	value of the desired lock level for your lock manager.
ReadLockLevel-type: Optimization
ReadLockLevel-cat: Locking
ReadLockLevel-displayorder: 50
ReadLockLevel-expert: true

WriteLockLevel-name: Default transactional write lock level
WriteLockLevel-desc: The default lock level to use when changing objects \
	within non-optimistic transactions.  Set to none, read, write, or the \
	numeric value of the desired lock level for your lock manager.
WriteLockLevel-type: Optimization
WriteLockLevel-cat: Locking
WriteLockLevel-displayorder: 50
WriteLockLevel-expert: true

Sequence-name: Default system sequence
Sequence-desc: The default org.apache.openjpa.runime.Seq for system use.
Sequence-type: General
Sequence-cat: Mappings.Defaults
Sequence-displayorder: 50
Sequence-expert: true
Sequence-interface: org.apache.openjpa.kernel.Seq

AutoClear-name: Auto clear values
AutoClear-desc: If "datastore", an object''s field values clears when it \
	enters a datastore transaction.  If "all", object field values also \
	clear when entering optimistic transactions.
AutoClear-type: General
AutoClear-cat: Persistence.Transactions.Advanced
AutoClear-displayorder: 50

ConnectionRetainMode-name: Connection retain mode
ConnectionRetainMode-desc: This property dictates when OpenJPA will retain and \
	release data store connections.  Available options are "on-demand" for \
	retaining a connection only during pessimistic transactions and data store \
	operations, "transaction" for retaining a connection for the life of each \
	transaction, or "always" to indicate that a persistence context should \
	retain and reuse a single connection for its entire lifespan.
ConnectionRetainMode-type: Connecting
ConnectionRetainMode-cat: Connecting.Advanced
ConnectionRetainMode-displayorder: 50
ConnectionRetainMode-expert: true

FilterListeners-name: Query filter listeners
FilterListeners-desc: A comma-separated list of query filter listeners to add \
	to the default list of extensions.  Each listener must implement the \
	org.apache.openjpa.kernel.FilterListener interface.
FilterListeners-type: General
FilterListeners-cat: Queries.Extensions
FilterListeners-displayorder: 50
FilterListeners-expert: true

AggregateListeners-name: Query aggregate listeners
AggregateListeners-desc: A comma-separated list of query aggregate listeners \
	to add to the default list of extensions.  Each listener must implement \
	the org.apache.openjpa.kernel.AggregateListener interface.
AggregateListeners-type: General
AggregateListeners-cat: Queries.Extensions
AggregateListeners-displayorder: 50
AggregateListeners-expert: true

RetryClassRegistration-name: Retry class registration
RetryClassRegistration-desc: Whether to log a warning and defer registration \
	when a registered persistent class cannot be processed, instead of \
	throwing an exception.  Should only be set to true under complex \
	classloader topologies that are causing registration errors.
RetryClassRegistration-type: General
RetryClassRegistration-cat: Persistence.Classes
RetryClassRegistration-displayorder: 60
RetryClassRegistration-expert: true

ProxyManager-name: Proxy manager
ProxyManager-desc: Plugin used to proxy second class object fields of managed \
	instances.  Must implement org.apache.openjpa.util.ProxyManager.
ProxyManager-type: General
ProxyManager-cat: Persistence.Advanced
ProxyManager-displayorder: 50
ProxyManager-expert: true

ConnectionProperties-name: Connection properties
ConnectionProperties-desc: A comma-separated list of properties to be passed \
	to the database driver when obtaining a connection. Properties are of the \
	form "key=value".  If the given driver class is a DataSource, these \
	properties will be used to configure the bean properties of the DataSource.
ConnectionProperties-type: Connecting
ConnectionProperties-cat: Connecting.Advanced
ConnectionProperties-displayorder: 50

ConnectionFactoryMode-name: ConnectionFactory mode
ConnectionFactoryMode-desc: The type of data source in use.  Available options \
	are "local" for a standard data source under OpenJPA''s control, or \
	"managed" for a data source managed by an application server and \
	automatically enlisted in global transactions.
ConnectionFactoryMode-type: Connecting
ConnectionFactoryMode-cat: Database.Transactions
ConnectionFactoryMode-displayorder: 50
ConnectionFactoryMode-expert: true

ConnectionFactoryProperties-name: Connection factory properties
ConnectionFactoryProperties-desc: A comma-separated list of properties \
	used to configure the javax.sql.DataSource used as the ConnectionFactory. \
	Each property should be of the form "key=value", where "key" is the name \
	of some bean-like property of the data source.
ConnectionFactoryProperties-type: Connecting
ConnectionFactoryProperties-cat: Connecting.Advanced
ConnectionFactoryProperties-displayorder: 50

Connection2UserName-name: Unmanaged connection username
Connection2UserName-desc: The username for the connection listed in \
	Connection2URL.
Connection2UserName-type: Connecting
Connection2UserName-cat: Connecting.XA
Connection2UserName-displayorder: 50
Connection2UserName-expert: true

Connection2Password-name: Unmanaged connection password
Connection2Password-desc: The password for the user specified in \
	Connection2UserName
Connection2Password-type: Connecting
Connection2Password-cat: Connecting.XA
Connection2Password-displayorder: 50
Connection2Password-expert: true

Connection2URL-name: Unmanaged connection URL
Connection2URL-desc: The URL for the unmanaged data source.
Connection2URL-type: Connecting
Connection2URL-cat: Connecting.XA
Connection2URL-displayorder: 50
Connection2URL-expert: true

Connection2DriverName-name: Unmanaged connection driver
Connection2DriverName-desc: The class name of the database driver, or an \
	instance of a DataSource to use to connect to the unmanaged data source.
Connection2DriverName-type: Connecting
Connection2DriverName-cat: Connecting.XA
Connection2DriverName-displayorder: 50
Connection2DriverName-expert: true

Connection2Properties-name: Non-XA connection properties
Connection2Properties-desc: A comma-separated list of properties to be passed \
	to the unmanaged database driver when obtaining a connection. Properties \
	are of the form "key=value".  If the given driver class is a DataSource, \
	these properties will be used to configure the bean properties of the \
	DataSource.
Connection2Properties-type: Connecting
Connection2Properties-cat: Connecting.XA
Connection2Properties-displayorder: 50
Connection2Properties-expert: true

ConnectionFactory2Properties-name: Unmanaged connection factory properties
ConnectionFactory2Properties-desc: A comma-separated list of properties \
	used to configure the javax.sql.DataSource used as the unmanaged \
	ConnectionFactory. Each property should be of the form "key=value", \
	where "key" is the name of some bean-like property of the data source.
ConnectionFactory2Properties-type: Connecting
ConnectionFactory2Properties-cat: Connecting.XA
ConnectionFactory2Properties-displayorder: 50
ConnectionFactory2Properties-expert: true

Optimistic-name: Optimistic transactions
Optimistic-desc: Selects between optimistic and pessimistic (data store) \
	transactional modes.
Optimistic-type: Persistence
Optimistic-cat: Persistence.Transactions
Optimistic-displayorder: 50

RetainState-name: Retain values
RetainState-desc: If true, then fields in a persistence-capable object that \
	have been read during a transaction must be preserved in memory after the \
	transaction commits. Otherwise, persistence-capable objects must \
	transition to the hollow state upon commit, meaning that subsequent reads \
	will result in a database round-trip.
RetainState-type: Persistence
RetainState-cat: Persistence.Transactions.Advanced
RetainState-displayorder: 50

RestoreState-name: Restore state
RestoreState-desc: If true, then immutable fields in a persistence-capable \
	object that have been changed during a transaction will be restored to \
	their original values upon a rollback. If set to "all", mutable fields \
	will also be restored.  If false, the values will not be changed upon \
	rollback.
RestoreState-type: Persistence
RestoreState-cat: Persistence.Transactions.Advanced
RestoreState-displayorder: 50

AutoDetach-name: Auto detach
AutoDetach-desc: A comma separated list of events upon which the managed \
	instances will be automatically detached.  Events are "close", "commit", \
	and "nontx-read".
AutoDetach-type: General
AutoDetach-cat: Optimization
AutoDetach-displayorder: 50
AutoDetach-expert: true

DetachState-name: Detach states
DetachState-desc: Plugin describing the set of field values which will be \
	included in the default detach and related options.  These states are \
	"loaded", "all", and "fetch-groups".
DetachState-type: General
DetachState-cat: Optimization
DetachState-displayorder: 50
DetachState-expert: true

IgnoreChanges-name: Ignore changes
IgnoreChanges-desc: If false, then OpenJPA must consider modifications, \
	deletions, and additions in the current trasnaction when executing a \
	query.  Else, OpenJPA is free to ignore changes and execute the query \
	directly against the data store.
IgnoreChanges-type: Persistence
IgnoreChanges-cat: Queries
IgnoreChanges-displayorder: 50

NontransactionalRead-name: Non-transactional read
NontransactionalRead-desc: If true, then it is possible to read \
	persistent data outside the context of a transaction. Otherwise, a \
	transaction must be in progress in order read data.
NontransactionalRead-type: Persistence
NontransactionalRead-cat: Persistence.Transactions
NontransactionalRead-displayorder: 50

NontransactionalWrite-name: Non-transactional write
NontransactionalWrite-desc: If true, then it is possible to write to \
	fields of a persistent-nontransactional object when a transaction is not \
	in progress. If false, such a write will result in an exception.
NontransactionalWrite-type: Persistence
NontransactionalWrite-cat: Persistence.Transactions
NontransactionalWrite-displayorder: 50

Multithreaded-name: Multithreaded
Multithreaded-desc: If true, then the application plans to have multiple \
	threads simultaneously accessing a single context or object, so measures \
	must be taken to ensure that the implementation is thread-safe. Otherwise, \
	the implementation need not address thread safety.
Multithreaded-type: Persistence
Multithreaded-cat: Persistence.Optimization
Multithreaded-displayorder: 50

ConnectionUserName-name: Connection username
ConnectionUserName-desc: The username for the connection listed in \
	ConnectionURL.
ConnectionUserName-type: Connecting
ConnectionUserName-cat: Connecting
ConnectionUserName-displayorder: 50

ConnectionPassword-name: Connection password
ConnectionPassword-desc: The password for the user specified in \
	ConnectionUserName
ConnectionPassword-type: Connecting
ConnectionPassword-cat: Connecting
ConnectionPassword-displayorder: 50

ConnectionURL-name: Connection URL
ConnectionURL-desc: The URL for the data source.
ConnectionURL-type: Connecting
ConnectionURL-cat: Connecting
ConnectionURL-displayorder: 50

ConnectionDriverName-name: Connection driver
ConnectionDriverName-desc: The class name of the database driver, or an \
	instance of a DataSource to use to connect to the data source.
ConnectionDriverName-type: Connecting
ConnectionDriverName-cat: Connecting
ConnectionDriverName-displayorder: 50

ConnectionFactoryName-name: Connection factory name
ConnectionFactoryName-desc: The JNDI name of the connection factory to use \
	for obtaining connections.
ConnectionFactoryName-type: Connecting
ConnectionFactoryName-cat: Connecting.Advanced
ConnectionFactoryName-displayorder: 50

ConnectionFactory-name: Connection factory
ConnectionFactory-desc: The factory to use for obtaining datastore connections.
ConnectionFactory-type: Connecting
ConnectionFactory-cat: Connecting.Advanced
ConnectionFactory-displayorder: 50

ConnectionFactory2Name-name: Unmanaged connection factory name
ConnectionFactory2Name-desc: The JNDI name of the connection factory to use \
	for finding unmanaged connections.  If specified, this is the connection \
	that will be used for obtaining sequence numbers.
ConnectionFactory2Name-type: Connecting
ConnectionFactory2Name-cat: Connecting.XA
ConnectionFactory2Name-displayorder: 50
ConnectionFactory2Name-expert: true

ConnectionFactory2-name: Unmanaged connection factory
ConnectionFactory2-desc: The factory to use for obtaining unmanaged \
	datastore connections.
ConnectionFactory2-type: Connecting
ConnectionFactory2-cat: Connecting.Advanced
ConnectionFactory2-displayorder: 50

PersistenceServer-name: Remote persistence support
PersistenceServer-desc: Define the remote persistence server.
PersistenceServer-type: General
PersistenceServer-cat: Persistence.Remote
PersistenceServer-displayorder: 50
PersistenceServer-expert: true
PersistenceServer-interface: org.apache.openjpa.lib.remote.Transport

LockManager-name: Lock manager
LockManager-desc: Plugin used to handle acquiring locks on persistent \
	instances.  Must implement org.apache.openjpa.kernel.LockManager.
LockManager-type: General
LockManager-cat: Locking
LockManager-displayorder: 50
LockManager-expert: true
LockManager-interface: org.apache.openjpa.kernel.LockManager

InverseManager-name: Inverse manager
InverseManager-desc: Plugin used to manage inverse relations during flush. \
	Set to true to use the default inverse manager.  Custom inverse managers \
	must extend org.apache.openjpa.kernel.InverseManager.
InverseManager-type: General
InverseManager-cat: Persistence.Advanced
InverseManager-displayorder: 50
InverseManager-expert: true
InverseManager-interface: org.apache.openjpa.kernel.InverseManager

SavepointManager-name: Savepoint manager
SavepointManager-desc: Plugin used to create and manage savepoints for \
	partial rollback/commit support.  Defaults to "in-mem". Custom savepoint \
	managers must implement org.apache.openjpa.kernel.SavepointManager.
SavepointManager-type: General
SavepointManager-cat: Persistence.Advanced
SavepointManager-displayorder: 50
SavepointManager-expert: true
SavepointManager-interface: org.apache.openjpa.kernel.SavepointManager

OrphanedKeyAction-name: Orphaned key action
OrphanedKeyAction-desc: Action to take when OpenJPA discovers an orphaned key \
    in the database.  May be a custom action implementing \
	org.apache.openjpa.event.OrphanedKeyAction.
OrphanedKeyAction-type: General
OrphanedKeyAction-cat: Persistence.Advanced
OrphanedKeyAction-displayorder: 50
OrphanedKeyAction-expert: true
OrphanedKeyAction-interface: org.apache.openjpa.event.OrphanedKeyAction

DynamicDataStructs-name: Dynamic data structs
DynamicDataStructs-desc: Whether to dynamically create custom structs to hold \
	and transfer persistent state in the OpenJPA data cache and remote \
	persistence frameworks.  Dynamic structs can reduce data cache \
	memory consumption, reduce the amount of data serialized back and forth \
	under remote persistence, and improve the overall performance \
	of these systems.  However, they increase application warm-up time while \
	the custom classes are generated and loaded into the JVM.  Set to true to \
	enable dynamic data structs.
DynamicDataStructs-type: General
DynamicDataStructs-cat: Optimization
DynamicDataStructs-displayorder: 50
DynamicDataStructs-expert: true

MetaDataFactory-name: Metadata factory
MetaDataFactory-desc: The org.apache.openjpa.meta.MetaDataFactory that \
    provides persistence metadata.
MetaDataFactory-type: General
MetaDataFactory-cat: Mappings
MetaDataFactory-displayorder: 50
MetaDataFactory-interface: org.apache.openjpa.meta.MetaDataFactory

MetaDataRepository-name: Metadata repository
MetaDataRepository-desc: The org.apache.openjpa.meta.MetaDataRepository that \
    manages persistence metadata.
MetaDataRepository-type: General
MetaDataRepository-cat: Mappings
MetaDataRepository-displayorder: 50
MetaDataRepository-interface: org.apache.openjpa.meta.MetaDataRepository

Mapping-name: Datastore mapping
Mapping-desc: The name of the datastore mapping to use.
Mapping-type: Persistence
Mapping-cat: Mappings
Mapping-displayorder: 50

Compatibility-name: Compatibility Information
Compatibility-desc: Details about various compatibiity options for the current \
	environment.
Compatibility-type: General
Compatibility-cat: Persistence.Advanced
Compatibility-displayorder: 50
Compatibility-expert: true
Compatibility-interface: org.apache.openjpa.conf.Compatibility

RuntimeUnenhancedClasses-name: Runtime unenhanced classes
RuntimeUnenhancedClasses-desc: Either "supported", "unsupported", or "warn". \
    Defaults to "supported".
RuntimeUnenhancedClasses-type: General
RuntimeUnenhancedClasses-cat: Optimization
RuntimeUnenhancedClasses-displayorder: 50

CacheMarshallers-name: Cache Marshallers
CacheMarshallers-desc: List of org.apache.openjpa.conf.CacheMarshaller \
    implementations to use. \
    Cache marshallers are part of experimental support for accelerating \
    application redeployment.
CacheMarshallers-type: General
CacheMarshallers-cat: Advanced
CacheMarshallers-displayorder: 50
CacheMarshallers-expert: true
CacheMarshallers-interface: org.apache.openjpa.conf.CacheMarshaller

ValidationMode-name: Bean Validation Mode
ValidationMode-desc: Either "auto", "callback" or "none"
ValidationMode-type: General
ValidationMode-cat: Persistence.Advanced
ValidationMode-displayorder: 50

ValidationFactory-name: Bean Validation ValidatorFactory
ValidationFactory-desc: Container or application provided instance.
ValidationFactory-type: General
ValidationFactory-cat: Persistence.Advanced
ValidationFactory-displayorder: 50

no-named-cf: use a DataSource bound to JNDI
diff-specs: Attempt to configure for multiple specifications.  Was configured \
	for "{0}".  Attempt to now configure for "{1}".  This attempt will be \
	ignored.

cache-marshaller-loaded: Loaded cached data of type {0} from file {1}.
cache-marshaller-no-inputs: No InputURL or InputResource was specified for \
    CacheMarshaller {0}. Cannot load data if no input was specified.
cache-marshaller-load-exception-ignore: An error occurred while loading cached \
	data from {0}. The exception is logged with this message; it will be \
	consumed and ignored.
cache-marshaller-load-exception-fatal: An error occurred while loading cached \
	data from {0}. The exception is logged with this message; it will be \
	thrown.
cache-marshaller-stored: Stored data of type {0} to file {1}.
cache-marshaller-no-output-file: No OutputFile was specified for \
    CacheMarshaller {0}. Cannot store data if no output was specified.
cache-marshaller-store-exception: An error occurred while storing data \
	to cache in {0}. The exception is logged with this message; it will be \
	consumed and ignored.
cache-marshaller-input-url-and-resource-specified: An InputURL and an \
    InputResource were specified for CacheMarshaller {0}. At most one of these \
    can be specified.
cache-marshaller-multiple-resources: Multiple resources exist for resource \
    location {1} for CacheMarshaller {0}: {2}.
cache-marshaller-multiple-resources-warn: Multiple resources exist for resource \
    location {1} for CacheMarshaller {0}: {2}. The first one will be used.
cache-marshaller-bad-url: An error occurred while loading resource location \
    {1} for CacheMarshaller {0}.
cache-marshaller-null-validation-policy: No ValidationPolicy was set for \
	cache marshaller of type {0}.
cache-marshaller-null-id: No id was set for cache marshaller of type {0}. The \
	id value is used by the subsystems within Kodo that use marshallers to \
	find the right marshaller to use to load and store cached data.
cache-marshaller-not-found: No cache marshaller found for id {0}.
cache-marshaller-found: Cache marshaller of type {1} found for id {0}.
spec-different: A different Specification "{0}" has overwritten the current \
	Specification "{1}".
spec-version-higher: Attempt to set a higher Specification "{0}" version failed. \
	The Specification is already set to "{1}".
spec-version-lower: Specification is set to a lower version "{0}" than the \
	current Specification "{1}".
spec-wrong-format: "{0}" is not valid Specification. The correct format is \
	 <name> [<major>[.<minor>]] where <name> is the name of the Specification, \
	 <major> is the integer major version number and <minor> is a string. \
	 A possible cause is persistence.xml does not specify a version.
spec-wrong-version-format: "{0}" is not a valid version for Specification. The \
	correct version format is "<major>[.<minor>]" where <major> is the integer \
	major version number and <minor> is a string.
spec-wrong-obj: Can not set Specification from "{0}" of "{1}".
class-not-found: Can not set "{0}", which requires class "{1}".
invalid-config-object: Invalid object provided in configuration property \
        "{0}".  Expected type was "{1}".

version-id: version id
openjpa-revision: Apache git revision
