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

Methods
`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(List<String> methodNames)` Sets the method names to be invoked after the properties have been set.
`void` `setPostConfigurationMethods(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 Detail

#### 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`