Module org.eclipse.persistence.core
Class PropertiesHandler
java.lang.Object
org.eclipse.persistence.internal.sessions.PropertiesHandler
The class processes some of EclipseLink properties.
The class may be used for any properties, but it only makes sense
to use it in the following two cases:
1. There is a set of legal values defined
either requiring translation (like CacheTypeProp);
or not (like LoggingLevelProp).
2. Property is really a prefix from which the property obtained by
appending entity or class name (like DescriptorCustomizerProp -
it corresponds to "eclipselink.descriptor.customizer." prefix that allows to
define properties like "eclipselink.descriptor.customizer.myPackage.MyClass").
EclipseLink properties and their values defined in org.eclipse.persistence.config package.
To add a new property:
Define a new property in PersistenceUnitProperties;
Add a class containing property's values if required to config package (like CacheType);
Alternatively values may be already defined elsewhere (like in LoggingLevelProp).
Add an inner class to this class extending Prop corresponding to the new property (like CacheTypeProp);
The first constructor parameter is property name; the second is default value;
In constructor
provide 2-dimensional value array in case the values should be translated (like CacheTypeProp);
in case translation is not required provide a single-dimension array (like LoggingLevelProp).
In inner class Prop static initializer addProp an instance of the new prop class (like addProp(new CacheTypeProp())).
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
protected static class
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
INTERNAL: Returns the default property value that should be applied.static String
getDefaultPropertyValueLogDebug
(String name, AbstractSession session) static String
getPrefixedPropertyValue
(String prefix, String suffix, Map m) INTERNAL: Gets property value from the map, if none found looks in System properties.static Map
getPrefixValues
(String prefix, Map m) INTERNAL: Gets properties' values from the map, if none found looks in System properties.static Map
getPrefixValuesLogDebug
(String prefix, Map m, AbstractSession session) static String
getPropertyValue
(String name, String value) INTERNAL: Given property name and value verifies and translates the value.static String
getPropertyValue
(String name, Map m) INTERNAL: Gets property value from the map, if none found looks in System properties.static String
getPropertyValue
(String name, Map m, boolean useSystemAsDefault) static String
getPropertyValueLogDebug
(String name, String value, AbstractSession session) static String
getPropertyValueLogDebug
(String name, Map m, AbstractSession session) static String
getPropertyValueLogDebug
(String name, Map m, AbstractSession session, boolean useSystemAsDefault) protected static boolean
shouldUseDefault
(String value) INTERNAL: Empty String value indicates that the default property value should be used.
-
Constructor Details
-
PropertiesHandler
public PropertiesHandler()
-
-
Method Details
-
getPropertyValue
INTERNAL: Gets property value from the map, if none found looks in System properties. Use this to get a value for a non-prefixed property. Could be used on prefixes (like "org.eclipse.persistence.cache-type.") too, but will always return null Throws IllegalArgumentException in case the property value is illegal. -
getPropertyValueLogDebug
-
getPropertyValue
-
getPropertyValueLogDebug
public static String getPropertyValueLogDebug(String name, Map m, AbstractSession session, boolean useSystemAsDefault) -
getPropertyValue
INTERNAL: Given property name and value verifies and translates the value. Throws IllegalArgumentException in case the property value is illegal. -
getPropertyValueLogDebug
-
getPrefixedPropertyValue
INTERNAL: Gets property value from the map, if none found looks in System properties. Use this to get a value for a prefixed property: for "org.eclipse.persistence.cache-type.Employee" pass "org.eclipse.persistence.cache-type.", "Employee". Throws IllegalArgumentException in case the property value is illegal. -
getPrefixValues
INTERNAL: Gets properties' values from the map, if none found looks in System properties. In the returned map values keyed by suffixes. Use it with prefixes (like "org.eclipse.persistence.cache-type."). Could be used on simple properties (not prefixes, too), but will always return either an empty map or a map containing a single value keyed by an empty String. Throws IllegalArgumentException in case the property value is illegal. -
getPrefixValuesLogDebug
-
getDefaultPropertyValue
INTERNAL: Returns the default property value that should be applied. Throws IllegalArgumentException in case the name doesn't correspond to any property. -
getDefaultPropertyValueLogDebug
-
shouldUseDefault
INTERNAL: Empty String value indicates that the default property value should be used.
-