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

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

### Method Detail

#### setPropertyValueString

    void setPropertyValueString​(java.lang.String propertyName,
                                java.lang.String value)
                         throws java.lang.IllegalArgumentException

Set a property value from a string.

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

#### getPropertyValueString

    java.lang.String getPropertyValueString​(java.lang.String propertyName)

Get the string property value with the given name.

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

#### getPropertyValueExpression

    ValueExpression<java.lang.String> getPropertyValueExpression​(java.lang.String propertyName)

Get the property value.

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

#### setPropertyValueExpression

    void setPropertyValueExpression​(java.lang.String propertyName,
                                    java.lang.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​(java.lang.String propertyName,
                                    java.lang.String expression,
                                    java.lang.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​(java.lang.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​(java.lang.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

    java.util.List<java.lang.String> getPropertyNames()

Get the names of the configured properties in order.

Returns:
  the property names

#### hasConstructorProperty

    boolean hasConstructorProperty​(java.lang.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

    java.util.List<java.lang.String> getConstructorProperties()

Returns a collection of the constructor properties.

Returns:
  a collection of the constructor properties.

#### addPostConfigurationMethod

    boolean addPostConfigurationMethod​(java.lang.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

    java.util.List<java.lang.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​(java.lang.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​(java.util.List<java.lang.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​(java.lang.String methodName)

Removes the post configuration method.

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