public class JProperties
extends java.util.Hashtable<K,V>
Properties manage properties file in UTF-8 encoding.
 Its save updateAndSave(File) methods keep layout of previous properties file.| Modifier and Type | Field and Description | 
|---|---|
| protected java.lang.String | ENCRYPTED_EXTENSION | 
| protected java.util.Set<JPropertiesListener> | listenerSet | 
| protected static int | PREFIX_PROPERTIES_CACHE_MAX_ENTRIES | 
| protected java.util.Map<java.lang.String,JProperties> | prefixPropertiesCache | 
| protected boolean | propertyNameAsDefaultValue | 
| static java.lang.String | REVISION | 
| protected java.util.Set<java.lang.String> | SENSITIVE_KEYWORD | 
| Constructor and Description | 
|---|
| JProperties() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addProperties(JProperties prop)Add every property of the given  JPropertiesto
 thisJProperties. | 
| void | addProperties(java.util.Properties prop)Add every property of the given  Propertiesto
 thisJProperties. | 
| void | addPropertiesListener(JPropertiesListener l)Adds a listener for any change of this JProperties. | 
| void | addProtectedKeys(java.util.Collection<java.lang.String> col) | 
| protected static java.lang.String[] | buildArrayFromString(java.lang.String value,
                    java.lang.String[] defaultValue)Convert a string to a String[] using the following formats:
 
 "@{delim}value1{delim}value2...", where  {delim}is one character delimiter of your choice.
 "value1{delim}value2{delim}...", where{delim}is a character from \t\n\r\f. | 
| protected JProperties | checkCacheGetProperties(java.lang.String prefix) | 
| void | clear() | 
| void | clearProperties()Clear all properties. | 
| boolean | containsProperty(java.lang.String name)Tests if this JProperties contains the given property key/name. | 
| void | firePropertiesChange()Triggers a propertie change to notify all listener of this JProperties. | 
| boolean | getBooleanProperty(java.lang.String name,
                  boolean defaultValue)Gets the value of a property as a boolean given its key/name. | 
| double | getDoubleProperty(java.lang.String name,
                 double defaultValue)Gets the value of a property as a double value given its key/name. | 
| float | getFloatProperty(java.lang.String name,
                float defaultValue)Gets the value of a property as a float value given its key/name. | 
| int[] | getIntArrayProperty(java.lang.String name,
                   int[] defaultValue)Gets the value of a property as a int array. | 
| int | getIntegerProperty(java.lang.String name,
                  int defaultValue)Gets the value of a property as an int value given its key/name. | 
| java.util.Set<JPropertiesListener> | getListenerSet()Retrieve set of all  JPropertiesListeneruse by this JProperties instance. | 
| java.util.Set<java.io.File> | getLoadedFiles()Retrieve a set of all that were loaded in this JProperties instance
 (ordered by the load order) | 
| long | getLongProperty(java.lang.String name,
               long defaultValue)Gets the value of a property as a long value given its key/name. | 
| JProperties | getProperties(java.lang.String prefix)Returns a new property set of properties with key matching a
 given prefix. | 
| java.lang.String | getProperty(java.lang.String name)Gets value of a property. | 
| java.lang.String | getProperty(java.lang.String name,
           java.lang.String defaultValue)Gets the value of a property given its key/name. | 
| java.util.Set<java.lang.String> | getProtectedKeySet() | 
| java.lang.String[] | getStringArrayProperty(java.lang.String name,
                      java.lang.String[] defaultValue)Gets the value of a property as a String array. | 
| java.util.Map<java.lang.String,java.lang.Object> | getSubProperties(java.lang.String prefix)Returns a map of properties built from those properties and having a given prefix. Example: prop: foo.bar.case1.x:   value of x for case1foo.bar.case1.y:   value of y for case1foo.bar.case2.x:   value of x for case2foo.bar.case2.y:   value of y for case2foo.bar.case2.z.t: value of z for case2 | 
| void | invalidateCacheGetProperties()Invalidate the cache used for  getProperties(String)method. | 
| boolean | isSensitiveProperty(java.lang.String key)Check if the specified property key is considered to be sensitive and 
 for which values is being concealed or crypted on saved. | 
| void | load(java.io.File file)Reads a property file (key and element pairs) from the given File. | 
| void | load(java.io.File file,
    boolean unprotectSensitiveData)Reads a property file (key and element pairs) from the given File. | 
| void | load(java.io.File file,
    java.lang.String prefix)Reads a property file (key and element pairs) from the given File. | 
| void | load(java.io.File file,
    java.lang.String prefix,
    boolean unprotectSensitiveData)Reads a property file (key and element pairs) from the given File. | 
| V | put(K key,
   V value) | 
| protected void | putCacheGetProperties(java.lang.String prefix,
                     JProperties prop) | 
| V | remove(java.lang.Object key) | 
| void | removePropertiesListener(JPropertiesListener l)Removes a listener for any change of this JProperties. | 
| void | setListenerSet(java.util.Set<JPropertiesListener> listeners)Set the Set of  JPropertiesListenerthat this JProperties 
 instance must used to notify | 
| java.lang.Object | setProperty(java.lang.String name,
           java.lang.String value)Sets value of a property. | 
| void | updateAndSave(java.io.File file)Updates and save properties. | 
clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keys, keySet, merge, putAll, putIfAbsent, rehash, remove, replace, replace, replaceAll, size, toString, valuespublic static final java.lang.String REVISION
protected static final int PREFIX_PROPERTIES_CACHE_MAX_ENTRIES
protected java.util.Map<java.lang.String,JProperties> prefixPropertiesCache
protected boolean propertyNameAsDefaultValue
protected java.util.Set<JPropertiesListener> listenerSet
protected java.util.Set<java.lang.String> SENSITIVE_KEYWORD
protected java.lang.String ENCRYPTED_EXTENSION
public java.util.Set<JPropertiesListener> getListenerSet()
JPropertiesListener use by this JProperties instance.addPropertiesListener(JPropertiesListener), 
removePropertiesListener(JPropertiesListener)public void setListenerSet(java.util.Set<JPropertiesListener> listeners)
JPropertiesListener that this JProperties 
 instance must used to notifylisteners - a Set of JProperties listener to assigne (listener are cleared if null is specified)addPropertiesListener(JPropertiesListener), 
removePropertiesListener(JPropertiesListener)public void addPropertiesListener(JPropertiesListener l)
l - the listener to addremovePropertiesListener(JPropertiesListener)public void removePropertiesListener(JPropertiesListener l)
l - the listener to removeaddPropertiesListener(JPropertiesListener)public void firePropertiesChange()
public boolean containsProperty(java.lang.String name)
name - the key/name of the property to checkpublic java.lang.String getProperty(java.lang.String name)
name - the key/name of the property to retrievepublic java.lang.String getProperty(java.lang.String name,
                                    java.lang.String defaultValue)
name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value is null.public java.lang.Object setProperty(java.lang.String name,
                                    java.lang.String value)
name - the key/name of the property to retrievevalue - the new value to assign.public boolean getBooleanProperty(java.lang.String name,
                                  boolean defaultValue)
name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or is neither "false" nor "true" (case sensitive).public int getIntegerProperty(java.lang.String name,
                              int defaultValue)
name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or if Integer.parseInt() throws exception during String
 to int conversion.public long getLongProperty(java.lang.String name,
                            long defaultValue)
name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or if Long.parseLong() throws exception during String
 to long conversion.public float getFloatProperty(java.lang.String name,
                              float defaultValue)
name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or if Float.parseFloat() throws exception during String
 to float conversion.public double getDoubleProperty(java.lang.String name,
                                double defaultValue)
name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or if Double.parseDouble() throws exception during String
 to double conversion.public java.lang.String[] getStringArrayProperty(java.lang.String name,
                                                 java.lang.String[] defaultValue)
The property value must be in one of the following forms:
{delim} is one character delimiter of your choice.{delim} is a character from  \t\n\r\f.
   String[] array = prop.getStringArrayProperty("missingexample", new String[] { "default", "value"});
   assertEquals(2, array.length);
   assertEquals("default", array[0]);
   assertEquals("value", array[1]);
   
   prop.setProperty("example1", "@|abc|def");
   String[] array1 = prop.getStringArrayProperty("example1", new String[] { });
   assertEquals(2, array1.length);
   assertEquals("abc", array1[0]);
   assertEquals("def", array1[1]);
  
   prop.setProperty("example2", "foo bar\tzig");
   String[] array2 = prop.getStringArrayProperty("example2", new String[] { });
   assertEquals(3, array2.length);
   assertEquals("foo", array2[0]);
   assertEquals("bar", array2[1]);
   assertEquals("zig", array2[2]);
 name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or no values could be found in the conversion.protected static java.lang.String[] buildArrayFromString(java.lang.String value,
                                                         java.lang.String[] defaultValue)
{delim} is one character delimiter of your choice.{delim} is a character from  \t\n\r\f.value - the valuedefaultValue - the default valuepublic int[] getIntArrayProperty(java.lang.String name,
                                 int[] defaultValue)
getStringArrayProperty(String, String[]).name - the key/name of the property to retrievedefaultValue - the default value to use if the existing value
 is null or no values could be found in the conversion.getStringArrayProperty(String, String[])public void addProperties(java.util.Properties prop)
Properties to
 this JProperties.prop - the properties to be addedpublic void addProperties(JProperties prop)
JProperties to
 this JProperties.prop - the jproperties to be addedprotected JProperties checkCacheGetProperties(java.lang.String prefix)
protected void putCacheGetProperties(java.lang.String prefix,
                                     JProperties prop)
public void invalidateCacheGetProperties()
getProperties(String) method.public JProperties getProperties(java.lang.String prefix)
prefix - the prefix the properties must match to be added to the
 returned JProperties instance, if null, all properties are added.public java.util.Map<java.lang.String,java.lang.Object> getSubProperties(java.lang.String prefix)
foo.bar.case1.x:   value of x for case1foo.bar.case1.y:   value of y for case1foo.bar.case2.x:   value of x for case2foo.bar.case2.y:   value of y for case2foo.bar.case2.z.t: value of z for case2
 prop.getSubProperties("foo.bar.") returns a Map with the keys case1 and case2.
 
 A JProperties is bound to case1 and it contains the properties:
 x: value of x for case1
 y: value of y for case1
 
 A JProperties is bound to case2 and it contains the properties:
 x: value of x for case2
 y: value of y for case2
 z.t: value of z for case2
prefix - the prefixpublic void clearProperties()
public void load(java.io.File file)
          throws java.io.IOException
file - the file from which to read properties.java.io.IOException - if an error occurred when reading from the input
 stream.java.lang.IllegalArgumentException - if the input stream contains a malformed
 Unicode escape sequence.Properties.load(java.io.InputStream)public void load(java.io.File file,
                 boolean unprotectSensitiveData)
          throws java.io.IOException
file - the file from which to read properties.unprotectSensitiveData - true if sensitive data should be unprotected after readjava.io.IOException - if an error occurred when reading from the input
 stream.java.lang.IllegalArgumentException - if the input stream contains a malformed
 Unicode escape sequence.Properties.load(java.io.InputStream)public void load(java.io.File file,
                 java.lang.String prefix)
          throws java.io.IOException
file - the file from which to read properties.prefix - a prefix to use add to all properties' name.
 if null, no prefix is used.java.io.IOException - if an error occurred when reading from the input
 stream.java.lang.IllegalArgumentException - if the input stream contains a malformed
 Unicode escape sequence.Properties.load(java.io.InputStream)public void load(java.io.File file,
                 java.lang.String prefix,
                 boolean unprotectSensitiveData)
          throws java.io.IOException
file - the file from which to read properties.prefix - a prefix to use add to all properties' name.
 if null, no prefix is used.unprotectSensitiveData - true if sensitive data should be unprotected after readjava.io.IOException - if an error occurred when reading from the input
 stream.java.lang.IllegalArgumentException - if the input stream contains a malformed
 Unicode escape sequence.Properties.load(java.io.InputStream)public java.util.Set<java.io.File> getLoadedFiles()
public void updateAndSave(java.io.File file)
                   throws java.io.IOException
file - the properties File to read and update.java.io.IOException - IOException thrown in methodpublic boolean isSensitiveProperty(java.lang.String key)
key - the name of the property being verifiedpublic V put(K key,
             V value)
put in interface java.util.Map<K,V>put in class java.util.Hashtable<K,V>public V remove(java.lang.Object key)
remove in interface java.util.Map<K,V>remove in class java.util.Hashtable<K,V>public void clear()
clear in interface java.util.Map<K,V>clear in class java.util.Hashtable<K,V>public java.util.Set<java.lang.String> getProtectedKeySet()
public void addProtectedKeys(java.util.Collection<java.lang.String> col)
Copyright © 2001-2019 Jalios SA. All Rights Reserved.