Package org.jboss.logmanager.config

# Interface PropertyConfigurable

All Known Subinterfaces:
  `ErrorManagerConfiguration`, `FilterConfiguration`, `FormatterConfiguration`, `HandlerConfiguration`, `PojoConfiguration`

public interface PropertyConfigurable
An object which is configurable via object properties.

Author:
  David M. Lloyd

## Method Summary

Modifier and Type
Method
Description
`boolean`
`addPostConfigurationMethod(String methodName)`
Adds a method name to be invoked after all properties have been set.
`List<String>`
`getConstructorProperties()`
Returns a collection of the constructor properties.
`List<String>`
`getPostConfigurationMethods()`
Returns a collection of the methods to be invoked after the properties have been set.
`List<String>`
`getPropertyNames()`
Get the names of the configured properties in order.
`ValueExpression<String>`
`getPropertyValueExpression(String propertyName)`
Get the property value.
`String`
`getPropertyValueString(String propertyName)`
Get the string property value with the given name.
`boolean`
`hasConstructorProperty(String propertyName)`
Determine whether the given property name is a constructor property.
`boolean`
`hasProperty(String propertyName)`
Determine whether the given property name is configured.
`boolean`
`removePostConfigurationMethod(String methodName)`
Removes the post configuration method.
`boolean`
`removeProperty(String propertyName)`
Remove a configured property.
`void`
`setPostConfigurationMethods(String... methodNames)`
Sets the method names to be invoked after the properties have been set.
`void`
`setPostConfigurationMethods(List<String> methodNames)`
Sets the method names to be invoked after the properties have been set.
`void`
`setPropertyValueExpression(String propertyName, String expression)`
Sets the expression value for the property.
`void`
`setPropertyValueExpression(String propertyName, String expression, String value)`
Sets the expression value for the property.
`void`
`setPropertyValueString(String propertyName, String value)`
Set a property value from a string.

## Method Details

### setPropertyValueString

void setPropertyValueString(String propertyName, String value) throws IllegalArgumentException
Set a property value from a string.

Parameters:
  `propertyName` - the property name
  `value` - the property value
Throws:
  `IllegalArgumentException` - if the given value is not acceptable for this property

### getPropertyValueString

String getPropertyValueString(String propertyName)
Get the string property value with the given name.

Parameters:
  `propertyName` - the property name
Returns:
  the property value string

### getPropertyValueExpression

ValueExpression<String> getPropertyValueExpression(String propertyName)
Get the property value.

Parameters:
  `propertyName` - the property name
Returns:
  the property value

### setPropertyValueExpression

void setPropertyValueExpression(String propertyName, String expression)
Sets the expression value for the property.

Parameters:
  `propertyName` - the name of the property
  `expression` - the expression used to resolve the value

### setPropertyValueExpression

void setPropertyValueExpression(String propertyName, String expression, String value)
Sets the expression value for the property.

This method will not parse the expression for the value and instead use the `value` parameter for the value.

Parameters:
  `propertyName` - the name of the property
  `expression` - the expression used to resolve the value
  `value` - the value to use

### hasProperty

boolean hasProperty(String propertyName)
Determine whether the given property name is configured.

Parameters:
  `propertyName` - the property name to test
Returns:
  `true` if the name is configured, `false` otherwise

### removeProperty

boolean removeProperty(String propertyName)
Remove a configured property. Does not affect the underlying configured value; just removes it from the configuration.

Parameters:
  `propertyName` - the property name
Returns:
  `true` if the property name was removed, `false` if it was not present

### getPropertyNames

List<String> getPropertyNames()
Get the names of the configured properties in order.

Returns:
  the property names

### hasConstructorProperty

boolean hasConstructorProperty(String propertyName)
Determine whether the given property name is a constructor property.

Parameters:
  `propertyName` - the name of the property to check.
Returns:
  `true` if the property should be used as a construction property, otherwise `false`.

### getConstructorProperties

List<String> getConstructorProperties()
Returns a collection of the constructor properties.

Returns:
  a collection of the constructor properties.

### addPostConfigurationMethod

boolean addPostConfigurationMethod(String methodName)
Adds a method name to be invoked after all properties have been set.

Parameters:
  `methodName` - the name of the method
Returns:
  `true` if the method was successfully added, otherwise `false`

### getPostConfigurationMethods

List<String> getPostConfigurationMethods()
Returns a collection of the methods to be invoked after the properties have been set.

Returns:
  a collection of method names or an empty list

### setPostConfigurationMethods

void setPostConfigurationMethods(String... methodNames)
Sets the method names to be invoked after the properties have been set.

Parameters:
  `methodNames` - the method names to invoke

### setPostConfigurationMethods

void setPostConfigurationMethods(List<String> methodNames)
Sets the method names to be invoked after the properties have been set.

Parameters:
  `methodNames` - the method names to invoke

### removePostConfigurationMethod

boolean removePostConfigurationMethod(String methodName)
Removes the post configuration method.

Parameters:
  `methodName` - the method to remove
Returns:
  `true` if the method was removed, otherwise `false`