###############################################################################
# Copyright (c) 2007, 2008 Oracle. - initial API and implementation
###############################################################################

Boolean_True = True
Boolean_False = False
	
PersistenceXmlTabFolder_defaultEmpty = Default ()
PersistenceXmlTabFolder_defaultWithOneParam = Default ({0})

PersistenceXmlGeneralTab_name = Name:
PersistenceXmlGeneralTab_provider = Provider:
PersistenceXmlGeneralTab_browse = Browse...
PersistenceXmlGeneralTab_description = Description:

PersistenceXmlLoggingTab_loggingLevelLabel = Logging Level:
PersistenceXmlLoggingTab_timestampLabel = Timestamp
PersistenceXmlLoggingTab_timestampLabelDefault = Timestamp ({0})
PersistenceXmlLoggingTab_threadLabel = Thread
PersistenceXmlLoggingTab_threadLabelDefault = Thread ({0})
PersistenceXmlLoggingTab_sessionLabel = Session
PersistenceXmlLoggingTab_sessionLabelDefault = Session ({0})
PersistenceXmlLoggingTab_exceptionsLabel = Exceptions
PersistenceXmlLoggingTab_exceptionsLabelDefault = Exceptions ({0})
PersistenceXmlLoggingTab_logFileLabel = Log File
PersistenceXmlLoggingTab_logFileLabelDefault = Log File ({0})
PersistenceXmlLoggingTab_loggersLabel = Loggers:

# SchemaGeneration
PersistenceXmlSchemaGenerationTab_title = Schema Generation
PersistenceXmlSchemaGenerationTab_sectionTitle = Persistence Unit Schema Generation
PersistenceXmlSchemaGenerationTab_sectionDescription = Configure the EclipseLink Schema Generation properties.
PersistenceXmlSchemaGenerationTab_defaultWithOneParam = Default ({0})
PersistenceXmlSchemaGenerationTab_defaultEmpty = Default ()

PersistenceXmlSchemaGenerationTab_ddlGenerationType = DDL Generation Type:
PersistenceXmlSchemaGenerationTab_outputMode = Output Mode:

PersistenceXmlSchemaGenerationTab_createDdlFileName = Create DDL File Name:

OutputModeComposite_both = Both
OutputModeComposite_sql_script = Sql-script
OutputModeComposite_database = Database

DdlGenerationTypeComposite_none = none
DdlGenerationTypeComposite_create_tables = Create-tables
DdlGenerationTypeComposite_drop_and_create_tables = Drop-and-Create-tables

# Caching
PersistenceXmlCachingTab_title = Caching
PersistenceXmlCachingTab_sectionTitle = Persistence Unit Caching
PersistenceXmlCachingTab_sectionDescription = Configure the session or entity specific EclipseLink caching properties.
PersistenceXmlCachingTab_defaultCacheTypeLabel = Default Cache Type:
PersistenceXmlCachingTab_cacheTypeLabel = Cache Type:
PersistenceXmlCachingTab_defaultSharedCacheLabel = Default Shared Cache
PersistenceXmlCachingTab_sharedCacheLabel = Shared Cache:

PersistenceXmlCachingTab_defaultSharedCacheLabelDefault = Shared Cache ({0})

CacheTypeComposite_full = Full
CacheTypeComposite_hard_weak = HardWeak
CacheTypeComposite_none = None
CacheTypeComposite_soft_weak = SoftWeak
CacheTypeComposite_weak = Weak

DefaultCacheTypeComposite_full = Full
DefaultCacheTypeComposite_hard_weak = HardWeak
DefaultCacheTypeComposite_none = None
DefaultCacheTypeComposite_soft_weak = SoftWeak
DefaultCacheTypeComposite_weak = Weak

EntityDialog_selectEntity = Select an Entity
EntityDialog_name = Name: