Package tigase.monitor

# Class TaskConfigItem

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

All Implemented Interfaces:
  `Comparable<TaskConfigItem>`, `RepositoryItem`

public class TaskConfigItem extends RepositoryItemAbstract implements Comparable<TaskConfigItem>

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `TaskConfigItem.Type`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CLASS_ELEM`
  `static final String`
  `ELEM_NAME`
  `static final String`
  `SCRIPT_ELEM`
  `static final String`
  `SCRIPT_EXT_ATT`
  `static final String`
  `TASK_CLASS_ATT`
  `protected static final String[]`
  `TASK_CLASS_PATH`
  `static final String`
  `TASK_NAME_ATT`
  `protected static final String[]`
  `TASK_SCRIPT_PATH`
  `static final 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(String taskName, Class<? extends MonitorTask> taskClass)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(TaskConfigItem o)`
  `Form`
  `getConfiguration()`
  `String`
  `getElemName()`
  `String`
  `getKey()`
  Returns a unique key for the item in the repository.
  `String`
  `getScriptExtension()`
  `Class<? extends MonitorTask>`
  `getTaskClass()`
  `String`
  `getTaskName()`
  `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(String propString)`
  The item can be initialized based on the data loaded from a configuration file.
  `void`
  `setConfiguration(Form configuration)`
  `protected void`
  `setKey(String key)`
  `void`
  `setScriptExtension(String scriptExtension)`
  `void`
  `setTaskClass(Class<? extends MonitorTask> taskClass)`
  `void`
  `setTaskName(String taskName)`
  `void`
  `setTaskScript(String taskScript)`
  `void`
  `setType(TaskConfigItem.Type type)`
  `Element`
  `toElement()`
  Item data can be stored in a more complex form than a simple property string.
  `String`
  `toPropertyString()`
  The item can be initialized based on the data loaded from a configuration file.
  `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 Details

  - ### CLASS_ELEM

    public static final String CLASS_ELEM
    See Also:
      - Constant Field Values

  - ### ELEM_NAME

    public static final String ELEM_NAME
    See Also:
      - Constant Field Values

  - ### SCRIPT_ELEM

    public static final String SCRIPT_ELEM
    See Also:
      - Constant Field Values

  - ### SCRIPT_EXT_ATT

    public static final String SCRIPT_EXT_ATT
    See Also:
      - Constant Field Values

  - ### TASK_CLASS_ATT

    public static final String TASK_CLASS_ATT
    See Also:
      - Constant Field Values

  - ### TASK_NAME_ATT

    public static final String TASK_NAME_ATT
    See Also:
      - Constant Field Values

  - ### TASK_TYPE_ATT

    public static final String TASK_TYPE_ATT
    See Also:
      - Constant Field Values

  - ### TASK_CLASS_PATH

    protected static final String[] TASK_CLASS_PATH

  - ### TASK_SCRIPT_PATH

    protected static final String[] TASK_SCRIPT_PATH

- ## Constructor Details

  - ### TaskConfigItem

    public TaskConfigItem()

  - ### TaskConfigItem

    public TaskConfigItem(String taskName, Class<? extends MonitorTask> taskClass)

- ## Method Details

  - ### compareTo

    public int compareTo(TaskConfigItem o)
    Specified by:
      `compareTo` in interface `Comparable<TaskConfigItem>`

  - ### getConfiguration

    public Form getConfiguration()

  - ### setConfiguration

    public void setConfiguration(Form configuration)

  - ### getElemName

    public String getElemName()
    Specified by:
      `getElemName` in class `RepositoryItemAbstract`

  - ### getKey

    public 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(String key)
    Specified by:
      `setKey` in class `RepositoryItemAbstract`

  - ### getScriptExtension

    public String getScriptExtension()

  - ### setScriptExtension

    public void setScriptExtension(String scriptExtension)

  - ### getTaskClass

    public Class<? extends MonitorTask> getTaskClass()

  - ### getTaskName

    public String getTaskName()

  - ### setTaskName

    public void setTaskName(String taskName)

  - ### getTaskScript

    public String getTaskScript()

  - ### setTaskScript

    public void setTaskScript(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(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(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 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 String toString()
    Overrides:
      `toString` in class `Object`