jodd.props
Class Props

java.lang.Object
  extended by jodd.props.Props
All Implemented Interfaces:
java.lang.Cloneable

public class Props
extends java.lang.Object
implements java.lang.Cloneable

Super properties: fast, configurable, supports (ini) sections, profiles.

Basic parsing rules:

Sections rules:

Profiles rules:

Macro rules:


Field Summary
protected  java.lang.String[] activeProfiles
           
protected  java.lang.String activeProfilesProp
           
protected  PropsData data
           
protected  boolean initialized
           
protected  PropsParser parser
           
 
Constructor Summary
  Props()
          Creates new props.
protected Props(PropsParser parser)
           
 
Method Summary
protected  Props clone()
          Clones props by creating new instance and copying current configuration.
 int countTotalProperties()
          Counts the total number of properties, including all profiles.
 void extractBaseProps(java.util.Map target)
          Extract base props (no profiles).
 void extractBaseSubProps(java.util.Map target, java.lang.String... wildcardPatterns)
           
 void extractProps(java.util.Map target)
          Extracts props belonging to active profiles.
 void extractProps(java.util.Map target, java.lang.String... profiles)
          Extract props of given profiles.
 void extractSubProps(java.util.Map target, java.lang.String... wildcardPatterns)
           
 void extractSubProps(java.util.Map target, java.lang.String[] profiles, java.lang.String[] wildcardPatterns)
           
 java.lang.String[] getActiveProfiles()
          Returns active profiles or null if none defined.
 java.lang.String getBaseValue(java.lang.String key)
          Returns string value of base property.
 java.lang.String getValue(java.lang.String key)
          Returns value of property, using active profiles.
 java.lang.String getValue(java.lang.String key, java.lang.String... profiles)
          Returns string value of given profiles.
protected  void initialize()
          Initializes props by replacing macros in values with the lookup values.
 void load(java.io.File file)
          Loads props from the file.
 void load(java.io.File file, java.lang.String encoding)
          Loads properties from the file in provided encoding.
 void load(java.io.InputStream in)
          Loads properties from input stream.
 void load(java.io.InputStream in, java.lang.String encoding)
          Loads properties from input stream and provided encoding.
 void load(java.util.Map<?,?> p)
          Loads base properties from the provided java properties.
 void load(java.util.Map<?,?> map, java.lang.String prefix)
          Loads base properties from java Map using provided prefix.
 void load(java.lang.String data)
          Loads props from the string.
 void loadEnvironment(java.lang.String prefix)
          Loads environment properties with given prefix.
 void loadSystemProperties(java.lang.String prefix)
          Loads system properties with given prefix.
protected  void parse(java.lang.String data)
          Parses input string and loads provided properties map.
protected  void resolveActiveProfiles()
          Resolves active profiles from property.
 void setActiveProfiles(java.lang.String... activeProfiles)
          Overrides active profiles.
 void setAppendDuplicateProps(boolean appendDuplicateProps)
          Appends duplicate props.
 void setEscapeNewLineValue(java.lang.String escapeNewLineValue)
          Specifies the new line string when EOL is escaped.
 void setIgnorePrefixWhitespacesOnNewLine(boolean ignorePrefixWhitespacesOnNewLine)
          Defines if the prefix whitespaces should be ignored when value is split into the lines.
 void setMultilineValues(boolean multilineValues)
          Enables multiline values.
 void setSkipEmptyProps(boolean skipEmptyProps)
          Skips empty properties.
 void setValue(java.lang.String key, java.lang.String value)
          Sets default value.
 void setValue(java.lang.String key, java.lang.String value, java.lang.String profile)
          Sets value on some profile.
 void setValueTrimLeft(boolean valueTrimLeft)
          Specifies should the values be trimmed from the left.
 void setValueTrimRight(boolean valueTrimRight)
          Specifies should the values be trimmed from the right.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parser

protected final PropsParser parser

data

protected final PropsData data

activeProfilesProp

protected java.lang.String activeProfilesProp

activeProfiles

protected java.lang.String[] activeProfiles

initialized

protected volatile boolean initialized
Constructor Detail

Props

public Props()
Creates new props.


Props

protected Props(PropsParser parser)
Method Detail

clone

protected Props clone()
Clones props by creating new instance and copying current configuration.

Overrides:
clone in class java.lang.Object

getActiveProfiles

public java.lang.String[] getActiveProfiles()
Returns active profiles or null if none defined.


setActiveProfiles

public void setActiveProfiles(java.lang.String... activeProfiles)
Overrides active profiles.


setEscapeNewLineValue

public void setEscapeNewLineValue(java.lang.String escapeNewLineValue)
Specifies the new line string when EOL is escaped. Default value is an empty string.


setValueTrimLeft

public void setValueTrimLeft(boolean valueTrimLeft)
Specifies should the values be trimmed from the left. Default is true.


setValueTrimRight

public void setValueTrimRight(boolean valueTrimRight)
Specifies should the values be trimmed from the right. Default is true.


setIgnorePrefixWhitespacesOnNewLine

public void setIgnorePrefixWhitespacesOnNewLine(boolean ignorePrefixWhitespacesOnNewLine)
Defines if the prefix whitespaces should be ignored when value is split into the lines.


setSkipEmptyProps

public void setSkipEmptyProps(boolean skipEmptyProps)
Skips empty properties.


setAppendDuplicateProps

public void setAppendDuplicateProps(boolean appendDuplicateProps)
Appends duplicate props.


setMultilineValues

public void setMultilineValues(boolean multilineValues)
Enables multiline values.


parse

protected void parse(java.lang.String data)
Parses input string and loads provided properties map.


load

public void load(java.lang.String data)
Loads props from the string.


load

public void load(java.io.File file)
          throws java.io.IOException
Loads props from the file. Assumes UTF8 encoding unless the file ends with '.properties', than it uses ISO 8859-1.

Throws:
java.io.IOException

load

public void load(java.io.File file,
                 java.lang.String encoding)
          throws java.io.IOException
Loads properties from the file in provided encoding.

Throws:
java.io.IOException

load

public void load(java.io.InputStream in)
          throws java.io.IOException
Loads properties from input stream. Stream is not closed at the end.

Throws:
java.io.IOException

load

public void load(java.io.InputStream in,
                 java.lang.String encoding)
          throws java.io.IOException
Loads properties from input stream and provided encoding. Stream is not closed at the end.

Throws:
java.io.IOException

load

public void load(java.util.Map<?,?> p)
Loads base properties from the provided java properties. Null values are ignored.


load

public void load(java.util.Map<?,?> map,
                 java.lang.String prefix)
Loads base properties from java Map using provided prefix. Null values are ignored.


loadSystemProperties

public void loadSystemProperties(java.lang.String prefix)
Loads system properties with given prefix. If prefix is null it will not be ignored.


loadEnvironment

public void loadEnvironment(java.lang.String prefix)
Loads environment properties with given prefix. If prefix is null it will not be used.


countTotalProperties

public int countTotalProperties()
Counts the total number of properties, including all profiles. This operation performs calculation each time and it might be more time consuming then expected.


getBaseValue

public java.lang.String getBaseValue(java.lang.String key)
Returns string value of base property. Returns null if property doesn't exist.


getValue

public java.lang.String getValue(java.lang.String key)
Returns value of property, using active profiles.


getValue

public java.lang.String getValue(java.lang.String key,
                                 java.lang.String... profiles)
Returns string value of given profiles. If key is not found under listed profiles, base properties will be searched. Returns null if property doesn't exist.


setValue

public void setValue(java.lang.String key,
                     java.lang.String value)
Sets default value.


setValue

public void setValue(java.lang.String key,
                     java.lang.String value,
                     java.lang.String profile)
Sets value on some profile.


extractBaseProps

public void extractBaseProps(java.util.Map target)
Extract base props (no profiles).


extractProps

public void extractProps(java.util.Map target)
Extracts props belonging to active profiles.


extractProps

public void extractProps(java.util.Map target,
                         java.lang.String... profiles)
Extract props of given profiles.


extractBaseSubProps

public void extractBaseSubProps(java.util.Map target,
                                java.lang.String... wildcardPatterns)

extractSubProps

public void extractSubProps(java.util.Map target,
                            java.lang.String... wildcardPatterns)

extractSubProps

public void extractSubProps(java.util.Map target,
                            java.lang.String[] profiles,
                            java.lang.String[] wildcardPatterns)

initialize

protected void initialize()
Initializes props by replacing macros in values with the lookup values.


resolveActiveProfiles

protected void resolveActiveProfiles()
Resolves active profiles from property.



Copyright © 2003-2013 Jodd Team