org.apache.axis

Class AxisProperties

public class AxisProperties extends Object

Configuration properties for AXIS.

Manage configuration properties according to a secure scheme similar to that used by classloaders:

Author: Richard A. Sitze

Field Summary
protected static Loglog
The Log for all interesting events in this class.
Method Summary
static ResourceNameDiscovergetNameDiscoverer()
static PropertiesgetProperties()
This is an expensive operation.
static StringgetProperty(String propertyName)
Get value for property bound to the current thread context class loader.
static StringgetProperty(String propertyName, String dephault)
Get value for property bound to the current thread context class loader.
static ResourceClassIteratorgetResourceClassIterator(Class spi)
static ObjectnewInstance(Class spiClass)
Create a new instance of a service provider class.
static ObjectnewInstance(Class spiClass, Class[] constructorParamTypes, Object[] constructorParams)
static ObjectnewInstance(Class spiClass, Class defaultClass)
static EnumerationpropertyNames()
static voidsetClassDefault(Class clazz, String defaultName)
static voidsetClassDefaults(Class clazz, String[] defaultNames)
static voidsetClassOverrideProperty(Class clazz, String propertyName)
static voidsetProperties(Map newProperties)
Set property values for Properties bound to the current thread context class loader.
static voidsetProperties(Map newProperties, boolean isDefault)
Set property values for Properties bound to the current thread context class loader.
static voidsetProperty(String propertyName, String value)
Set value for property bound to the current thread context class loader.
static voidsetProperty(String propertyName, String value, boolean isDefault)
Set value for property bound to the current thread context class loader.

Field Detail

log

protected static Log log
The Log for all interesting events in this class.

Method Detail

getNameDiscoverer

public static ResourceNameDiscover getNameDiscoverer()

getProperties

public static Properties getProperties()
This is an expensive operation.

Returns: Returns a java.util.Properties instance that is equivalent to the current state of the scoped properties, in that getProperty() will return the same value. However, this is a copy, so setProperty on the returned value will not effect the scoped properties.

getProperty

public static String getProperty(String propertyName)
Get value for property bound to the current thread context class loader.

Parameters: propertyName property name.

Returns: property value if found, otherwise default.

getProperty

public static String getProperty(String propertyName, String dephault)
Get value for property bound to the current thread context class loader. If not found, then return default.

Parameters: propertyName property name. dephault default value.

Returns: property value if found, otherwise default.

getResourceClassIterator

public static ResourceClassIterator getResourceClassIterator(Class spi)

newInstance

public static Object newInstance(Class spiClass)
Create a new instance of a service provider class. !WARNING! SECURITY issue. See bug 11874 The solution to both is to move doPrivilege UP within AXIS to a class that is either private (cannot be reached by code outside AXIS) or that represents a secure public interface... This is going to require analysis and (probably) rearchitecting. So, I'm taking taking the easy way out until we are at a point where we can reasonably rearchitect for security.

Parameters: spiClass the service provider class to instantiate

Returns: a new instance of this class

newInstance

public static Object newInstance(Class spiClass, Class[] constructorParamTypes, Object[] constructorParams)

newInstance

public static Object newInstance(Class spiClass, Class defaultClass)

propertyNames

public static Enumeration propertyNames()

setClassDefault

public static void setClassDefault(Class clazz, String defaultName)

setClassDefaults

public static void setClassDefaults(Class clazz, String[] defaultNames)

setClassOverrideProperty

public static void setClassOverrideProperty(Class clazz, String propertyName)

setProperties

public static void setProperties(Map newProperties)
Set property values for Properties bound to the current thread context class loader.

Parameters: newProperties name/value pairs to be bound

setProperties

public static void setProperties(Map newProperties, boolean isDefault)
Set property values for Properties bound to the current thread context class loader.

Parameters: newProperties name/value pairs to be bound isDefault determines if properties are default or not. A non-default property cannot be overriden. A default property can be overriden by a property (default or non-default) of the same name bound to a decendent class loader.

setProperty

public static void setProperty(String propertyName, String value)
Set value for property bound to the current thread context class loader.

Parameters: propertyName property name value property value (non-default) If null, remove the property.

setProperty

public static void setProperty(String propertyName, String value, boolean isDefault)
Set value for property bound to the current thread context class loader.

Parameters: propertyName property name value property value. If null, remove the property. isDefault determines if property is default or not. A non-default property cannot be overriden. A default property can be overriden by a property (default or non-default) of the same name bound to a decendent class loader.

Copyright B) 2005 Apache Web Services Project. All Rights Reserved.