Package tigase.cluster.repo

## Class ClusterRepoItem

- java.lang.Object
- - tigase.db.comp.RepositoryItemAbstract
  - - tigase.cluster.repo.ClusterRepoItem

- All Implemented Interfaces:
    `java.lang.Cloneable`, `RepositoryItem`

      public class ClusterRepoItem
      extends RepositoryItemAbstract
      implements java.lang.Cloneable

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `CPU_USAGE_ATTR` |
    `static java.lang.String` | `CPU_USAGE_LABEL` |
    `static java.lang.String` | `HOSTNAME_ATTR` |
    `static java.lang.String` | `HOSTNAME_LABEL` |
    `static java.lang.String` | `LAST_UPDATE_ATTR` |
    `static java.lang.String` | `LAST_UPDATE_LABEL` |
    `static java.lang.String` | `MEM_USAGE_ATTR` |
    `static java.lang.String` | `MEM_USAGE_LABEL` |
    `static java.lang.String` | `PASSWORD_ATTR` |
    `static java.lang.String` | `PASSWORD_LABEL` |
    `static java.lang.String` | `PASSWORD_PROP_VAL` |
    `static java.lang.String` | `PORT_NO_ATTR` |
    `static java.lang.String` | `PORT_NO_LABEL` |
    `static int` | `PORT_NO_PROP_VAL` |
    `static java.lang.String` | `REPO_ITEM_ELEM_NAME` |
    `static java.lang.String` | `SECONDARY_HOSTNAME_ATTR` |
    `static java.lang.String` | `SECONDARY_HOSTNAME_LABEL` |

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

      `ADMINS_ATT, ADMINS_LABEL, OWNER_ATT, OWNER_LABEL`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ClusterRepoItem()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addCommandFields​(Packet packet)` | The method is used for handling ad-hoc commands.
    `protected java.lang.Object` | `clone()` |
    `float` | `getCpuUsage()` |
    `java.lang.String` | `getElemName()` |
    `java.lang.String` | `getHostname()` |
    `java.lang.String` | `getKey()` | Returns a unique key for the item in the repository.
    `long` | `getLastUpdate()` |
    `float` | `getMemUsage()` |
    `java.lang.String` | `getPassword()` |
    `int` | `getPortNo()` |
    `java.lang.String` | `getSecondaryHostname()` |
    `void` | `initFromCommand​(Packet packet)` | The method used for handling ad-hoc commands.
    `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.
    `protected void` | `setCpuUsage​(float cpuUsage)` |
    `protected void` | `setHostname​(java.lang.String hostname)` |
    `protected void` | `setKey​(java.lang.String key)` |
    `protected void` | `setLastUpdate​(long update)` |
    `protected void` | `setMemUsage​(float memUsage)` |
    `protected void` | `setPassword​(java.lang.String password)` |
    `protected void` | `setPort​(int port)` |
    `protected void` | `setSecondaryHostname​(java.lang.String secondaryHostname)` |
    `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

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

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

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

- - ### Field Detail

    - #### CPU_USAGE_ATTR

          public static final java.lang.String CPU_USAGE_ATTR

      See Also:
        Constant Field Values

    - #### CPU_USAGE_LABEL

          public static final java.lang.String CPU_USAGE_LABEL

      See Also:
        Constant Field Values

    - #### HOSTNAME_ATTR

          public static final java.lang.String HOSTNAME_ATTR

      See Also:
        Constant Field Values

    - #### SECONDARY_HOSTNAME_ATTR

          public static final java.lang.String SECONDARY_HOSTNAME_ATTR

      See Also:
        Constant Field Values

    - #### HOSTNAME_LABEL

          public static final java.lang.String HOSTNAME_LABEL

      See Also:
        Constant Field Values

    - #### SECONDARY_HOSTNAME_LABEL

          public static final java.lang.String SECONDARY_HOSTNAME_LABEL

      See Also:
        Constant Field Values

    - #### LAST_UPDATE_ATTR

          public static final java.lang.String LAST_UPDATE_ATTR

      See Also:
        Constant Field Values

    - #### LAST_UPDATE_LABEL

          public static final java.lang.String LAST_UPDATE_LABEL

      See Also:
        Constant Field Values

    - #### MEM_USAGE_ATTR

          public static final java.lang.String MEM_USAGE_ATTR

      See Also:
        Constant Field Values

    - #### MEM_USAGE_LABEL

          public static final java.lang.String MEM_USAGE_LABEL

      See Also:
        Constant Field Values

    - #### PASSWORD_ATTR

          public static final java.lang.String PASSWORD_ATTR

      See Also:
        Constant Field Values

    - #### PASSWORD_LABEL

          public static final java.lang.String PASSWORD_LABEL

      See Also:
        Constant Field Values

    - #### PASSWORD_PROP_VAL

          public static final java.lang.String PASSWORD_PROP_VAL

      See Also:
        Constant Field Values

    - #### PORT_NO_ATTR

          public static final java.lang.String PORT_NO_ATTR

      See Also:
        Constant Field Values

    - #### PORT_NO_LABEL

          public static final java.lang.String PORT_NO_LABEL

      See Also:
        Constant Field Values

    - #### PORT_NO_PROP_VAL

          public static final int PORT_NO_PROP_VAL

      See Also:
        Constant Field Values

    - #### REPO_ITEM_ELEM_NAME

          public static final java.lang.String REPO_ITEM_ELEM_NAME

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ClusterRepoItem

          public ClusterRepoItem()

  - ### Method Detail

    - #### addCommandFields

          public void addCommandFields​(Packet packet)

      Description copied from interface: `RepositoryItem`
      The method is used for handling ad-hoc commands. The 'empty' ad-hoc command packet is provided and the Item should fill it with fields for the user.
      Specified by:
        `addCommandFields` in interface `RepositoryItem`
      Overrides:
        `addCommandFields` in class `RepositoryItemAbstract`
      Parameters:
        `packet` - with empty ad-hoc command to fill with fields

    - #### initFromCommand

          public void initFromCommand​(Packet packet)

      Description copied from interface: `RepositoryItem`
      The method used for handling ad-hoc commands. After a user fills all given field the ad-hoc command packet is passed back to the item to initialize it with data. Similar method to initFromElement(), but the data source is different.
      Specified by:
        `initFromCommand` in interface `RepositoryItem`
      Overrides:
        `initFromCommand` in class `RepositoryItemAbstract`
      Parameters:
        `packet` - with ad-hoc command filled by the user.

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

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

    - #### getCpuUsage

          public float getCpuUsage()

    - #### setCpuUsage

          protected void setCpuUsage​(float cpuUsage)

    - #### getElemName

          public java.lang.String getElemName()

      Specified by:
        `getElemName` in class `RepositoryItemAbstract`

    - #### getHostname

          public java.lang.String getHostname()

    - #### setHostname

          protected void setHostname​(java.lang.String hostname)

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

    - #### getLastUpdate

          public long getLastUpdate()

    - #### setLastUpdate

          protected void setLastUpdate​(long update)

    - #### getMemUsage

          public float getMemUsage()

    - #### setMemUsage

          protected void setMemUsage​(float memUsage)

    - #### getPassword

          public java.lang.String getPassword()

    - #### setPassword

          protected void setPassword​(java.lang.String password)

    - #### getSecondaryHostname

          public java.lang.String getSecondaryHostname()

    - #### setSecondaryHostname

          protected void setSecondaryHostname​(java.lang.String secondaryHostname)

    - #### getPortNo

          public int getPortNo()

    - #### clone

          protected java.lang.Object clone()
                                    throws java.lang.CloneNotSupportedException

      Overrides:
        `clone` in class `java.lang.Object`
      Throws:
        `java.lang.CloneNotSupportedException`

    - #### setPort

          protected void setPort​(int port)