################################################################################
# Copyright (c) 2008 Oracle. All rights reserved.
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v1.0, which accompanies this distribution
# and is available at http://www.eclipse.org/legal/epl-v10.html.
# 
# Contributors:
#     Oracle - initial API and implementation
################################################################################

BasicCollectionMappingUiProvider_label = Basic Collection
BasicCollectionMappingUiProvider_linkLabel = basic collection

BasicMapMappingUiProvider_label = Basic Map
BasicMapMappingUiProvider_linkLabel = basic map

TransformationMappingUiProvider_label = Transformation
TransformationMappingUiProvider_linkLabel = transformation

VariableOneToOneMappingUiProvider_label = Variable One to One
VariableOneToOneMappingUiProvider_linkLabel = variable one to one

CacheTypeComposite_label = Type:	
CacheTypeComposite_full = Full
CacheTypeComposite_weak = Weak
CacheTypeComposite_soft = Soft
CacheTypeComposite_soft_weak = Weak with Soft Subcache
CacheTypeComposite_hard_weak = Weak with Hard Subcache
CacheTypeComposite_cache = Cache
CacheTypeComposite_none =  None

CacheSizeComposite_size = Size:

CacheCoordinationTypeComposite_label = Coordination type:
CacheCoordinationTypeComposite_send_object_changes = Send Object Changes
CacheCoordinationTypeComposite_invalidate_changed_objects = Invalidate Changed Objects
CacheCoordinationTypeComposite_send_new_objects_with_changes = Send New Objects with Changes
CacheCoordinationTypeComposite_none = None

CachingComposite_sharedLabelDefault = Shared ({0})
CachingComposite_sharedLabel = Shared
CachingComposite_advanced = Advanced

ChangeTrackingComposite_label = Change tracking:
ChangeTrackingComposite_attribute = Attribute
ChangeTrackingComposite_object = Object
ChangeTrackingComposite_deferred = Deferred
ChangeTrackingComposite_auto = Auto

ConvertComposite_converterNameLabel = Converter name:
ConvertComposite_defineConverterSection = Define Converter
ConvertComposite_default = Default
ConvertComposite_custom = Custom
ConvertComposite_type = Type
ConvertComposite_objectType = Object type
ConvertComposite_struct = Struct

ConverterComposite_nameTextLabel = Name:
ConverterComposite_classLabel = Class:

CustomizerComposite_classLabel = Customizer class:

ConvertersComposite_customConverter = Custom
ConvertersComposite_objectTypeConverter = Object type
ConvertersComposite_structConverter = Struct
ConvertersComposite_typeConverter = Type

AlwaysRefreshComposite_alwaysRefreshDefault = Always refresh ({0})
AlwaysRefreshComposite_alwaysRefreshLabel = Always refresh
RefreshOnlyIfNewerComposite_refreshOnlyIfNewerDefault = Refresh only if newer ({0})
RefreshOnlyIfNewerComposite_refreshOnlyIfNewerLabel = Refresh only if newer
DisableHitsComposite_disableHitsDefault = Disable hits ({0})
DisableHitsComposite_disableHitsLabel = Disable hits

TypeSection_converted = Converted

EclipseLinkTypeMappingComposite_advanced = Advanced
EclipseLinkTypeMappingComposite_caching = Caching
EclipseLinkTypeMappingComposite_converters = Converters

ExistenceCheckingComposite_label = Existence checking:
JavaExistenceCheckingComposite_check_cache = Check Cache
JavaExistenceCheckingComposite_check_database = Check Cache then Database
JavaExistenceCheckingComposite_assume_existence = Assume Existence
JavaExistenceCheckingComposite_assume_non_existence = Assume Non-Existence
OrmExistenceCheckingComposite_check_cache = Check Cache
OrmExistenceCheckingComposite_check_database = Check Cache then Database
OrmExistenceCheckingComposite_assume_existence = Assume Existence
OrmExistenceCheckingComposite_assume_non_existence = Assume Non-Existence

ExpiryComposite_expirySection = Expiry

ExpiryComposite_noExpiry = No expiry
ExpiryComposite_timeToLiveExpiry = Time to live expiry
ExpiryComposite_timeToLiveExpiryExpireAfter = Expire after
ExpiryComposite_timeToLiveExpiryMilliseconds = milliseconds
ExpiryComposite_dailyExpiry = Daily expiry
ExpiryComposite_timeOfDayExpiryExpireAt = Expire at


JoinFetchComposite_label = Join fetch:
JoinFetchComposite_inner = Inner
JoinFetchComposite_outer = Outer

MutableComposite_mutableLabel=Mutable
MutableComposite_mutableLabelDefault=Mutable ({0})
MutableComposite_true=True
MutableComposite_false=False

ObjectTypeConverterComposite_dataTypeLabel = Data type:
ObjectTypeConverterComposite_objectTypeLabel = Object type:
ObjectTypeConverterComposite_conversionValueEdit = Edit...
ObjectTypeConverterComposite_conversionValuesDataValueColumn = Data Value
ObjectTypeConverterComposite_conversionValuesObjectValueColumn = Object Value
ObjectTypeConverterComposite_defaultObjectValueLabel = Default object value:
ObjectTypeConverterComposite_conversionValuesGroupTitle = Conversion values
ConversionValueDialog_addConversionValue = Add Conversion Value
ConversionValueDialog_editConversionValue = Edit Conversion Value
ConversionValueDialog_addConversionValueDescriptionTitle = Create new conversion value
ConversionValueDialog_addConversionValueDescription = Create a new conversion value setting both the 'data value' and the 'object value'
ConversionValueDialog_editConversionValueDescriptionTitle = Edit conversion value
ConversionValueDialog_editConversionValueDescription = Edit the conversion value, changing the 'data value' or 'object value'

ConversionValueDialog_dataValue = Data value:
ConversionValueDialog_objectValue = Object value:
ConversionValueStateObject_dataValueMustBeSpecified = A data value must be specified.
ConversionValueStateObject_objectValueMustBeSpecified = An object value must be specified.
ConversionValueStateObject_dataValueAlreadyExists = This data value is already specified, cannot map multiple object values to the same data value.


PrivateOwnedComposite_privateOwnedLabel = Private owned
ReadOnlyComposite_readOnlyLabel = Read-only
ReadOnlyComposite_readOnlyWithDefault = Read-only ({0})
TypeConverterComposite_dataTypeLabel = Data type:
TypeConverterComposite_objectTypeLabel = Object type:

DefaultOneToOneMappingUiProvider_label=Default (One to One)
DefaultVariableOneToOneMappingUiProvider_label=Default (Variable One to One)
DefaultOneToManyMappingUiProvider_label=Default (One to Many)
DefaultOneToOneMappingUiProvider_linkLabel=default (one to one)
DefaultVariableOneToOneMappingUiProvider_linkLabel=default (variable one to one)
DefaultOneToManyMappingUiProvider_linkLabel=default (one to many)

ConvertersComposite_Label=Converters
	
EclipseLinkConverterDialog_name=Name:
EclipseLinkConverterDialog_converterType=Type:
EclipseLinkConverterDialog_addConverter=Add Converter
EclipseLinkConverterDialog_addConverterDescriptionTitle=Create new converter
EclipseLinkConverterDialog_addConverterDescription=Create a new converter setting both the 'name' and the 'type'
EclipseLinkConverterStateObject_nameMustBeSpecified = A name must be specified.
EclipseLinkConverterStateObject_typeMustBeSpecified = A converter type must be specified.

