|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.configuration.ConfigurationUtils
public final class ConfigurationUtils
Miscellaneous utility methods for configurations.
Utility methods to convert configurations.
Field Summary | |
---|---|
private static float |
JAVA_1_4
Constant for Java version 1.4. |
private static org.apache.commons.logging.Log |
log
The logger. |
private static java.lang.String |
METHOD_CLONE
Constant for the name of the clone() method. |
(package private) static java.lang.String |
PROTOCOL_FILE
Constant for the file URL protocol. |
(package private) static java.lang.String |
RESOURCE_PATH_SEPARATOR
Constant for the resource path separator. |
Constructor Summary | |
---|---|
private |
ConfigurationUtils()
Private constructor. |
Method Summary | |
---|---|
static void |
append(Configuration source,
Configuration target)
Append all properties from the source configuration to the target configuration. |
(package private) static java.lang.Object |
clone(java.lang.Object obj)
An internally used helper method for cloning objects. |
static Configuration |
cloneConfiguration(Configuration config)
Clones the given configuration object if this is possible. |
(package private) static java.io.File |
constructFile(java.lang.String basePath,
java.lang.String fileName)
Helper method for constructing a file object from a base path and a file name. |
static HierarchicalConfiguration |
convertToHierarchical(Configuration conf)
Converts the passed in configuration to a hierarchical one. |
static HierarchicalConfiguration |
convertToHierarchical(Configuration conf,
ExpressionEngine engine)
Converts the passed in Configuration object to a
hierarchical one using the specified ExpressionEngine . |
static void |
copy(Configuration source,
Configuration target)
Copy all properties from the source configuration to the target configuration. |
static void |
dump(Configuration configuration,
java.io.PrintStream out)
Dump the configuration key/value mappings to some ouput stream. |
static void |
dump(Configuration configuration,
java.io.PrintWriter out)
Dump the configuration key/value mappings to some writer. |
static void |
enableRuntimeExceptions(Configuration src)
Enables runtime exceptions for the specified configuration object. |
static java.io.File |
fileFromURL(java.net.URL url)
Tries to convert the specified URL to a file object. |
(package private) static java.lang.String |
getBasePath(java.net.URL url)
Return the path without the file name, for example http://xyz.net/foo/bar.xml results in http://xyz.net/foo/ |
static java.io.File |
getFile(java.lang.String basePath,
java.lang.String fileName)
Tries to convert the specified base path and file name into a file object. |
(package private) static java.lang.String |
getFileName(java.net.URL url)
Extract the file name from the specified URL. |
static java.net.URL |
getURL(java.lang.String basePath,
java.lang.String file)
Constructs a URL from a base path and a file name. |
static java.net.URL |
locate(java.lang.String name)
Return the location of the specified resource by searching the user home directory, the current classpath and the system classpath. |
static java.net.URL |
locate(java.lang.String base,
java.lang.String name)
Return the location of the specified resource by searching the user home directory, the current classpath and the system classpath. |
(package private) static java.net.URL |
locateFromClasspath(java.lang.String resourceName)
Tries to find a resource with the given name in the classpath. |
static java.lang.String |
toString(Configuration configuration)
Get a string representation of the key/value mappings of a configuration. |
(package private) static java.net.URL |
toURL(java.io.File file)
Convert the specified file into an URL. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
static final java.lang.String PROTOCOL_FILE
static final java.lang.String RESOURCE_PATH_SEPARATOR
private static final java.lang.String METHOD_CLONE
private static final float JAVA_1_4
private static org.apache.commons.logging.Log log
Constructor Detail |
---|
private ConfigurationUtils()
Method Detail |
---|
public static void dump(Configuration configuration, java.io.PrintStream out)
configuration
- the configurationout
- the output stream to dump the configuration topublic static void dump(Configuration configuration, java.io.PrintWriter out)
configuration
- the configurationout
- the writer to dump the configuration topublic static java.lang.String toString(Configuration configuration)
configuration
- the configuration
public static void copy(Configuration source, Configuration target)
Copy all properties from the source configuration to the target configuration. Properties in the target configuration are replaced with the properties with the same key in the source configuration.
Note: This method is not able to handle some specifics of
configurations derived from AbstractConfiguration
(e.g.
list delimiters). For a full support of all of these features the
copy()
method of AbstractConfiguration
should
be used. In a future release this method might become deprecated.
source
- the source configurationtarget
- the target configurationpublic static void append(Configuration source, Configuration target)
Append all properties from the source configuration to the target configuration. Properties in the source configuration are appended to the properties with the same key in the target configuration.
Note: This method is not able to handle some specifics of
configurations derived from AbstractConfiguration
(e.g.
list delimiters). For a full support of all of these features the
copy()
method of AbstractConfiguration
should
be used. In a future release this method might become deprecated.
source
- the source configurationtarget
- the target configurationpublic static HierarchicalConfiguration convertToHierarchical(Configuration conf)
conf
- the configuration to convert
public static HierarchicalConfiguration convertToHierarchical(Configuration conf, ExpressionEngine engine)
Configuration
object to a
hierarchical one using the specified ExpressionEngine
. This
conversion works by adding the keys found in the configuration to a newly
created hierarchical configuration. When adding new keys to a
hierarchical configuration the keys are interpreted by its
ExpressionEngine
. If they contain special characters (e.g.
brackets) that are treated in a special way by the default expression
engine, it may be necessary using a specific engine that can deal with
such characters. Otherwise null can be passed in for the
ExpressionEngine
; then the default expression engine is
used. If the passed in configuration is already hierarchical, it is
directly returned. (However, the ExpressionEngine
is set if
it is not null.) Otherwise all properties are copied into a new
hierarchical configuration.
conf
- the configuration to convertengine
- the ExpressionEngine
for the hierarchical
configuration or null for the default
public static Configuration cloneConfiguration(Configuration config) throws ConfigurationRuntimeException
Cloneable
interface, its clone()
method will be invoked. Otherwise
an exception will be thrown.
config
- the configuration object to be cloned (can be null)
ConfigurationRuntimeException
- if cloning is not supported for
this objectstatic java.lang.Object clone(java.lang.Object obj) throws java.lang.CloneNotSupportedException
Cloneable
interface. If
this is the case, the clone()
method is invoked by
reflection. Errors that occur during the cloning process are re-thrown as
runtime exceptions.
obj
- the object to be cloned
java.lang.CloneNotSupportedException
- if the object cannot be clonedpublic static java.net.URL getURL(java.lang.String basePath, java.lang.String file) throws java.net.MalformedURLException
basePath
- the base path URL (can be null)file
- the file name
java.net.MalformedURLException
- if URLs are invalidstatic java.io.File constructFile(java.lang.String basePath, java.lang.String fileName)
getURL()
does not seem to be a valid URL.
basePath
- the base pathfileName
- the file name
public static java.net.URL locate(java.lang.String name)
name
- the name of the resource
public static java.net.URL locate(java.lang.String base, java.lang.String name)
base
- the base path of the resourcename
- the name of the resource
static java.net.URL locateFromClasspath(java.lang.String resourceName)
resourceName
- the name of the resource
static java.lang.String getBasePath(java.net.URL url)
url
- the URL from which to extract the path
static java.lang.String getFileName(java.net.URL url)
url
- the URL from which to extract the file name
public static java.io.File getFile(java.lang.String basePath, java.lang.String fileName)
java.io.File.isAbsolute()
. If the file name starts with a
slash, this method will return true on Unix, but false on
Windows. So to ensure correct behavior for relative file names on all
platforms you should never let relative paths start with a slash. E.g.
in a configuration definition file do not use something like that:
<properties fileName="/subdir/my.properties"/>Under Windows this path would be resolved relative to the configuration definition file. Under Unix this would be treated as an absolute path name.
basePath
- the base pathfileName
- the file name
public static java.io.File fileFromURL(java.net.URL url)
url
- the URL
static java.net.URL toURL(java.io.File file) throws java.net.MalformedURLException
file
- the file to be converted into an URL
java.net.MalformedURLException
public static void enableRuntimeExceptions(Configuration src)
DatabaseConfiguration
or
JNDIConfiguration
. Per default such errors are simply
logged and then ignored. This implementation will register a special
ConfigurationErrorListener
that throws a runtime
exception (namely a ConfigurationRuntimeException
) on
each received error event.
src
- the configuration, for which runtime exceptions are to be
enabled; this configuration must be derived from
EventSource
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |