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