Package org.apache.velocity.tools.config
Class ConfigurationUtils
- java.lang.Object
-
- org.apache.velocity.tools.config.ConfigurationUtils
-
public class ConfigurationUtils extends java.lang.Object
Utility methods for handling tool configurations.- Version:
- $Id: ConfigurationUtils.java 511959 2007-02-26 19:24:39Z nbubna $
- Author:
- Nathan Bubna
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AUTOLOADED_PROPS_PATH
static java.lang.String
AUTOLOADED_XML_PATH
static java.lang.String
CONFIG_FACTORY_METHOD
static java.lang.String
GENERIC_DEFAULTS_PATH
static ConfigurationUtils
INSTANCE
static java.lang.String
STRUTS_DEFAULTS_PATH
static java.lang.String
SYSTEM_PROPERTY_KEY
static java.lang.String
VIEW_DEFAULTS_PATH
-
Constructor Summary
Constructors Modifier Constructor Description private
ConfigurationUtils()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
clean(Configuration config)
Convenience method that automatically creates a newConfigurationCleaner
and applies it to the specifiedConfiguration
.static ToolboxFactory
createFactory()
Returns a new, standardToolboxFactory
configured with the results of bothgetAutoLoaded()
andfindFromSystemProperty()
.static FactoryConfiguration
find(java.lang.String path)
Searches for a configuration file at the specified path and returns it in the form of aFactoryConfiguration
.static FactoryConfiguration
findFromSystemProperty()
Returns aFactoryConfiguration
loaded from the path specified in the "org.apache.velocity.tools" system property (if any).static FactoryConfiguration
findInClasspath(java.lang.String path)
static FactoryConfiguration
findInClasspath(java.lang.String path, java.lang.Object caller)
Searches the classpath for a configuration file matching the specified path.static FactoryConfiguration
findInFileSystem(java.lang.String path)
Searches the file system for a configuration file matching the specified path.static FactoryConfiguration
getAutoLoaded()
Returns aFactoryConfiguration
including allgetDefaultTools()
as well as any tools that can be automatically loaded from "tools.xml" or "tools.properties" found at the root of the classpath or in the current directory.static FactoryConfiguration
getAutoLoaded(boolean includeDefaults)
Returns aFactoryConfiguration
composed, in order of the following configurations:getDefaultTools()
(only if includeDefaults istrue
) All "tools.xml" configurations found in the classpath root, in the order found All "tools.properties" configurations found in the classpath root, in the order found The "tools.xml" file in the current directory (if any) The "tools.properties" file in the current directory (if any) If the includeDefaults parameter is null and no such files described above can be found, then the configuration returned by this method will be empty, but it should never benull
.static FactoryConfiguration
getDefaultTools()
Returns the "default"FactoryConfiguration
.static FactoryConfiguration
getFromClass(java.lang.Class factory)
static FactoryConfiguration
getFromClass(java.lang.String classname)
static FactoryConfiguration
getGenericTools()
Returns aFactoryConfiguration
including all default "GenericTools" available and no others.ConfigurationUtils
getInstance()
static FactoryConfiguration
getVelocityStruts()
Returns aFactoryConfiguration
including all default "VelocityStruts" tools available as well as the default "VelocityView" tools and "GenericTools".static FactoryConfiguration
getVelocityView()
Returns aFactoryConfiguration
including all default "VelocityView" tools available as well as the default "GenericTools".static FactoryConfiguration
load(java.lang.String path)
Returns aFactoryConfiguration
loaded from a configuration file at the specified path.static FactoryConfiguration
read(java.net.URL url)
Returns aFactoryConfiguration
read from a known configuration file type at the specifiedURL
.
-
-
-
Field Detail
-
GENERIC_DEFAULTS_PATH
public static final java.lang.String GENERIC_DEFAULTS_PATH
- See Also:
- Constant Field Values
-
VIEW_DEFAULTS_PATH
public static final java.lang.String VIEW_DEFAULTS_PATH
- See Also:
- Constant Field Values
-
STRUTS_DEFAULTS_PATH
public static final java.lang.String STRUTS_DEFAULTS_PATH
- See Also:
- Constant Field Values
-
AUTOLOADED_XML_PATH
public static final java.lang.String AUTOLOADED_XML_PATH
- See Also:
- Constant Field Values
-
AUTOLOADED_PROPS_PATH
public static final java.lang.String AUTOLOADED_PROPS_PATH
- See Also:
- Constant Field Values
-
SYSTEM_PROPERTY_KEY
public static final java.lang.String SYSTEM_PROPERTY_KEY
- See Also:
- Constant Field Values
-
INSTANCE
public static final ConfigurationUtils INSTANCE
-
CONFIG_FACTORY_METHOD
public static final java.lang.String CONFIG_FACTORY_METHOD
- See Also:
- Constant Field Values
-
-
Method Detail
-
getInstance
public ConfigurationUtils getInstance()
-
getDefaultTools
public static FactoryConfiguration getDefaultTools()
Returns the "default"FactoryConfiguration
. This includes all the standard tools developed by this project and available in the jar being used. In other words, if the velocity-tools-generic-2.x.jar is being used, then only the generic tools will be included. If the velocity-tools-struts-2.x.jar is being used, then all VelocityTools will be available. This also means that subclasses in the larger jars will override their superclasses. So, if you are using the VelocityStruts jar, then your $link reference will be a StrutsLinkTool. If you are using the VelocityView jar, it will be a standard LinkTool.
-
getGenericTools
public static FactoryConfiguration getGenericTools()
Returns aFactoryConfiguration
including all default "GenericTools" available and no others.
-
getVelocityView
public static FactoryConfiguration getVelocityView()
Returns aFactoryConfiguration
including all default "VelocityView" tools available as well as the default "GenericTools".
-
getVelocityStruts
public static FactoryConfiguration getVelocityStruts()
Returns aFactoryConfiguration
including all default "VelocityStruts" tools available as well as the default "VelocityView" tools and "GenericTools".
-
getAutoLoaded
public static FactoryConfiguration getAutoLoaded()
Returns aFactoryConfiguration
including allgetDefaultTools()
as well as any tools that can be automatically loaded from "tools.xml" or "tools.properties" found at the root of the classpath or in the current directory.- See Also:
getAutoLoaded(boolean includeDefaults)
-
getAutoLoaded
public static FactoryConfiguration getAutoLoaded(boolean includeDefaults)
Returns aFactoryConfiguration
composed, in order of the following configurations:getDefaultTools()
(only if includeDefaults istrue
)- All "tools.xml" configurations found in the classpath root, in the order found
- All "tools.properties" configurations found in the classpath root, in the order found
- The "tools.xml" file in the current directory (if any)
- The "tools.properties" file in the current directory (if any)
null
.
-
findFromSystemProperty
public static FactoryConfiguration findFromSystemProperty()
Returns aFactoryConfiguration
loaded from the path specified in the "org.apache.velocity.tools" system property (if any). If no such property has been setnull
will be returned.- Throws:
org.apache.velocity.exception.ResourceNotFoundException
- if the system property has a value but no configuration file was found at the specified location
-
createFactory
public static ToolboxFactory createFactory()
Returns a new, standardToolboxFactory
configured with the results of bothgetAutoLoaded()
andfindFromSystemProperty()
.
-
clean
public static void clean(Configuration config)
Convenience method that automatically creates a newConfigurationCleaner
and applies it to the specifiedConfiguration
.
-
load
public static FactoryConfiguration load(java.lang.String path)
Returns aFactoryConfiguration
loaded from a configuration file at the specified path. If no such file is found at that path, this will throw aResourceNotFoundException
.- See Also:
find(String path)
-
find
public static FactoryConfiguration find(java.lang.String path)
Searches for a configuration file at the specified path and returns it in the form of aFactoryConfiguration
. This method will look for a matching file in both the classpath and the file system. If perchance a match is found in both, then both are loaded and the configuration loaded from the file system is given precedence (i.e. it is added onto the other). If no match is found in either, then this will returnnull
.
-
findInFileSystem
public static FactoryConfiguration findInFileSystem(java.lang.String path)
Searches the file system for a configuration file matching the specified path. If found, it will read and return it as aFactoryConfiguration
. If not found, this will returnnull
.- Throws:
java.lang.IllegalStateException
- if the file exists, but its path could not be converted to a URL for reading.
-
findInClasspath
public static FactoryConfiguration findInClasspath(java.lang.String path)
-
findInClasspath
public static FactoryConfiguration findInClasspath(java.lang.String path, java.lang.Object caller)
Searches the classpath for a configuration file matching the specified path. If found, it will read and return it as aFactoryConfiguration
. If not found, this will returnnull
. If there are multiple matching resources in the classpath, then they will be added together in the order found (i.e. the last one will have precedence).
-
read
public static FactoryConfiguration read(java.net.URL url)
Returns aFactoryConfiguration
read from a known configuration file type at the specifiedURL
. If the file is missing or unreadable, this will simply returnnull
(i.e. if an IOException is thrown).- Throws:
java.lang.UnsupportedOperationException
- if the file type (identified via suffix) is neither ".xml" or ".properties"
-
getFromClass
public static FactoryConfiguration getFromClass(java.lang.String classname)
-
getFromClass
public static FactoryConfiguration getFromClass(java.lang.Class factory)
-
-