com.comtrade.ecm.engine.config

## Class AbstractConfigurable

- java.lang.Object
- - com.comtrade.ecm.engine.config.AbstractConfigurable

- All Implemented Interfaces:
    Configurable, Mutable
  Direct Known Subclasses:
    Client

      public abstract class AbstractConfigurable
      extends java.lang.Object
      implements Configurable

  An object that (if wanted/needed) simplifies the creation of `Configurable`.
  It performs standard attribute-mutation operations (any non-trivial mutation should be performed in inherited classes).
  The way aforementioned attribute-mutation is performed does violate the encapsulation principle ... but let's say that "we know what we're doing".

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractConfigurable()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addErrorMessage(java.lang.String errorMessage)` Adding an error into the collection of errors (later to be used in `validate()`).
    `void` | `set(java.lang.String attributeName, java.lang.Object attributeValue)` Injects a value `attributeValue` into an attribute named `attributeName`
    `void` | `validate()` Validates an object

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.comtrade.ecm.engine.objects.Mutable

      `set`

- - ### Constructor Detail

    - #### AbstractConfigurable

          public AbstractConfigurable()

  - ### Method Detail

    - #### set

          public void set(java.lang.String attributeName,
                          java.lang.Object attributeValue)

      Description copied from interface: `Mutable`
      Injects a value `attributeValue` into an attribute named `attributeName`
      Specified by:
        `set` in interface `Mutable`
      Parameters:
        `attributeName` - The name of an attribute whose value should be changed
        `attributeValue` - New value of an attribute

    - #### addErrorMessage

          public void addErrorMessage(java.lang.String errorMessage)

      Adding an error into the collection of errors (later to be used in `validate()`).
      Parameters:
        `errorMessage` - A message that should added to a collection of messages

    - #### validate

          public void validate()
                        throws ConfigurationException

      Description copied from interface: `Configurable`
      Validates an object
      Specified by:
        `validate` in interface `Configurable`
      Throws:
        `ConfigurationException` - if validation is not successful