Package tigase.monitor

## Class TaskConfigItem

- java.lang.Object
- - tigase.db.comp.RepositoryItemAbstract
  - - tigase.monitor.TaskConfigItem

- All Implemented Interfaces:
    `java.lang.Comparable<TaskConfigItem>`, `RepositoryItem`

      public class TaskConfigItem
      extends RepositoryItemAbstract
      implements java.lang.Comparable<TaskConfigItem>

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `TaskConfigItem.Type` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `CLASS_ELEM` |
    `static java.lang.String` | `ELEM_NAME` |
    `static java.lang.String` | `SCRIPT_ELEM` |
    `static java.lang.String` | `SCRIPT_EXT_ATT` |
    `static java.lang.String` | `TASK_CLASS_ATT` |
    `protected static java.lang.String[]` | `TASK_CLASS_PATH` |
    `static java.lang.String` | `TASK_NAME_ATT` |
    `protected static java.lang.String[]` | `TASK_SCRIPT_PATH` |
    `static java.lang.String` | `TASK_TYPE_ATT` |

    - ### Fields inherited from class tigase.db.comp.RepositoryItemAbstract

      `ADMINS_ATT, ADMINS_LABEL, OWNER_ATT, OWNER_LABEL`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TaskConfigItem()` |
    `TaskConfigItem​(java.lang.String taskName, java.lang.Class<? extends MonitorTask> taskClass)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `compareTo​(TaskConfigItem o)` |
    `Form` | `getConfiguration()` |
    `java.lang.String` | `getElemName()` |
    `java.lang.String` | `getKey()` | Returns a unique key for the item in the repository.
    `java.lang.String` | `getScriptExtension()` |
    `java.lang.Class<? extends MonitorTask>` | `getTaskClass()` |
    `java.lang.String` | `getTaskName()` |
    `java.lang.String` | `getTaskScript()` |
    `TaskConfigItem.Type` | `getType()` |
    `void` | `initFromElement​(Element elem)` | The item can be also initialized from a more complex repositories: XML repository or SQL database.
    `void` | `initFromPropertyString​(java.lang.String propString)` | The item can be initialized based on the data loaded from a configuration file.
    `void` | `setConfiguration​(Form configuration)` |
    `protected void` | `setKey​(java.lang.String key)` |
    `void` | `setScriptExtension​(java.lang.String scriptExtension)` |
    `void` | `setTaskClass​(java.lang.Class<? extends MonitorTask> taskClass)` |
    `void` | `setTaskName​(java.lang.String taskName)` |
    `void` | `setTaskScript​(java.lang.String taskScript)` |
    `void` | `setType​(TaskConfigItem.Type type)` |
    `Element` | `toElement()` | Item data can be stored in a more complex form than a simple property string.
    `java.lang.String` | `toPropertyString()` | The item can be initialized based on the data loaded from a configuration file.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class tigase.db.comp.RepositoryItemAbstract

      `addCommandFields, getAdmins, getOwner, initFromCommand, isAdmin, isOwner, setAdmins, setOwner`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CLASS_ELEM

          public static final java.lang.String CLASS_ELEM

      See Also:
        Constant Field Values

    - #### ELEM_NAME

          public static final java.lang.String ELEM_NAME

      See Also:
        Constant Field Values

    - #### SCRIPT_ELEM

          public static final java.lang.String SCRIPT_ELEM

      See Also:
        Constant Field Values

    - #### SCRIPT_EXT_ATT

          public static final java.lang.String SCRIPT_EXT_ATT

      See Also:
        Constant Field Values

    - #### TASK_CLASS_ATT

          public static final java.lang.String TASK_CLASS_ATT

      See Also:
        Constant Field Values

    - #### TASK_NAME_ATT

          public static final java.lang.String TASK_NAME_ATT

      See Also:
        Constant Field Values

    - #### TASK_TYPE_ATT

          public static final java.lang.String TASK_TYPE_ATT

      See Also:
        Constant Field Values

    - #### TASK_CLASS_PATH

          protected static final java.lang.String[] TASK_CLASS_PATH

    - #### TASK_SCRIPT_PATH

          protected static final java.lang.String[] TASK_SCRIPT_PATH

  - ### Constructor Detail

    - #### TaskConfigItem

          public TaskConfigItem()

    - #### TaskConfigItem

          public TaskConfigItem​(java.lang.String taskName,
                                java.lang.Class<? extends MonitorTask> taskClass)

  - ### Method Detail

    - #### compareTo

          public int compareTo​(TaskConfigItem o)

      Specified by:
        `compareTo` in interface `java.lang.Comparable<TaskConfigItem>`

    - #### getConfiguration

          public Form getConfiguration()

    - #### setConfiguration

          public void setConfiguration​(Form configuration)

    - #### getElemName

          public java.lang.String getElemName()

      Specified by:
        `getElemName` in class `RepositoryItemAbstract`

    - #### getKey

          public java.lang.String getKey()

      Description copied from interface: `RepositoryItem`
      Returns a unique key for the item in the repository. All items are stored in a memory cache which is a Map. And the key returned by this method is the item identifier in the Map.
      Specified by:
        `getKey` in interface `RepositoryItem`
      Returns:
        an Item key.

    - #### setKey

          protected void setKey​(java.lang.String key)

      Specified by:
        `setKey` in class `RepositoryItemAbstract`

    - #### getScriptExtension

          public java.lang.String getScriptExtension()

    - #### setScriptExtension

          public void setScriptExtension​(java.lang.String scriptExtension)

    - #### getTaskClass

          public java.lang.Class<? extends MonitorTask> getTaskClass()

    - #### getTaskName

          public java.lang.String getTaskName()

    - #### setTaskName

          public void setTaskName​(java.lang.String taskName)

    - #### getTaskScript

          public java.lang.String getTaskScript()

    - #### setTaskScript

          public void setTaskScript​(java.lang.String taskScript)

    - #### getType

          public TaskConfigItem.Type getType()

    - #### setType

          public void setType​(TaskConfigItem.Type type)

    - #### initFromElement

          public void initFromElement​(Element elem)

      Description copied from interface: `RepositoryItem`
      The item can be also initialized from a more complex repositories: XML repository or SQL database. In such a case more complex representation is prefered, possibly carrying more information about the item. The method is called to initialize the item with a data parsed from an XML representation of the repository.
      Specified by:
        `initFromElement` in interface `RepositoryItem`
      Overrides:
        `initFromElement` in class `RepositoryItemAbstract`
      Parameters:
        `elem` - XML Element with all the item initialization data.

    - #### initFromPropertyString

          public void initFromPropertyString​(java.lang.String propString)

      Description copied from interface: `RepositoryItem`
      The item can be initialized based on the data loaded from a configuration file. In such a case the item representation is usually very simplified as a list of parameters separated by a marker. Please note, usually each item is separated from another with a comma, therefore do not use a comma in the item property string. Double collon is commonly used alternative.
      Specified by:
        `initFromPropertyString` in interface `RepositoryItem`
      Parameters:
        `propString` - is a property string to initialize the RepositoryItem.

    - #### setTaskClass

          public void setTaskClass​(java.lang.Class<? extends MonitorTask> taskClass)

    - #### toElement

          public Element toElement()

      Description copied from interface: `RepositoryItem`
      Item data can be stored in a more complex form than a simple property string. The XML Element can contain much more detailed information about the element than the simplified form and is used to store the repository item in more advanced repositories then just property file. XML repository or SQL database can keep many records for repository item with as much detailed information as needed.
      Specified by:
        `toElement` in interface `RepositoryItem`
      Overrides:
        `toElement` in class `RepositoryItemAbstract`
      Returns:
        an XML Element with all the item initialization data.

    - #### toPropertyString

          public java.lang.String toPropertyString()

      Description copied from interface: `RepositoryItem`
      The item can be initialized based on the data loaded from a configuration file. In such a case the item representation is usually very simplified as a list of parameters separated by a marker. Please note, usually each item is separated from another with a comma, therefore do not use a comma in the item property string. Double collon is commonly used alternative.
      Specified by:
        `toPropertyString` in interface `RepositoryItem`
      Returns:
        a property string representing the repository item in a simplified form.

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`