org.apache.java.util
Class  ExtendedProperties
java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--org.apache.java.util.ConfigurationsRepository
                    |
                    +--org.apache.java.util.ExtendedProperties
- public class ExtendedProperties- extends ConfigurationsRepository
This class extends normal Java properties by adding the possibility
 to use the same key many times concatenating the value strings instead
 of overwriting them.
 
The Extended Properties syntax is explained here:
 
  - each property has the syntax key = value
- the key may use any character but the equal sign '='
  
- value may be separated on different lines if a backslash
      is placed at the end of the line that continues below.
  
- if value is a list of strings, each token is separated
      by a comma ','
  
- Commas in each token are escaped placing a backslash right before
      the comma.
  
- if a key is used more than once, the values are appended
      like if they were on the same line separated with commas.
  - blank lines and lines starting with character '#' are skipped
 
Here is an example of a valid extended properties file:
      # lines starting with # are comments
      # This is the simplest property
      key = value
      # A long property may be separated on multiple lines
      longvalue = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \
                  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      # This is a property with many tokens
      tokens_on_a_line = first token, second token
      # This sequence generates exactly the same result
      tokens_on_multiple_lines = first token
      tokens_on_multiple_lines = second token
      # commas may be escaped in tokens
      commas.excaped = Hi\, what'up?
 
 NOTE: this class has not been written for performance
 nor low memory usage. In fact, it's way slower than it could be and
 generates too much memory garbage. But since performance it's not an
 issue during intialization (and there no much time to improve it),
 I wrote it this way. If you don't like it, go ahead and tune it up!
- Version: 
- $Revision: 1.10 $ $Date: 1999/07/14 14:00:27 $
- See Also: 
- Configurations, Serialized Form
 
 
| Fields inherited from class java.util.Hashtable | 
| count,  
ENTRIES,  
entrySet,  
KEYS,  
keySet,  
loadFactor,  
modCount,  
serialVersionUID,  
table,  
threshold,  
values,  
VALUES | 
 
| Constructor Summary | 
| ExtendedProperties()Creates an empty extended properties object.
 | 
| ExtendedProperties(java.lang.String file)Creates and loads the extended properties from the specified file.
 | 
 
| Method Summary | 
|  void | load(java.io.InputStream input)Load the properties from the given input stream.
 | 
|  void | save(java.io.OutputStream output,
     java.lang.String Header)Save the properties to the given outputstream.
 | 
 
| Methods inherited from class java.util.Hashtable | 
| clear, 
clone, 
contains, 
containsKey, 
containsValue, 
elements, 
entrySet, 
equals, 
get, 
hashCode, 
isEmpty, 
keys, 
keySet, 
put, 
putAll, 
readObject, 
rehash, 
remove, 
size, 
toString, 
values, 
writeObject | 
 
| Methods inherited from class java.lang.Object | 
| , 
finalize, 
getClass, 
notify, 
notifyAll, 
registerNatives, 
wait, 
wait, 
wait | 
 
ExtendedProperties
public ExtendedProperties()
- Creates an empty extended properties object.
ExtendedProperties
public ExtendedProperties(java.lang.String file)
                   throws java.io.IOException
- Creates and loads the extended properties from the specified file.
load
public void load(java.io.InputStream input)
          throws java.io.IOException
- Load the properties from the given input stream.- 
- Overrides:
- load in class ConfigurationsRepository
 
save
public void save(java.io.OutputStream output,
                 java.lang.String Header)
          throws java.io.IOException
- Save the properties to the given outputstream.- 
- Overrides:
- save in class ConfigurationsRepository