Package tigase.io.repo

## Class CertificateItem

- java.lang.Object
- - tigase.db.comp.RepositoryItemAbstract
  - - tigase.io.repo.CertificateItem

- All Implemented Interfaces:
    `RepositoryItem`

      public class CertificateItem
      extends RepositoryItemAbstract

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `ALIAS_KEY` |
    `static java.lang.String` | `FINGERPRINT_KEY` |
    `static java.lang.String` | `IS_DEFAULT_KEY` |
    `static java.lang.String` | `PEM_CERTIFICATE_KEY` |
    `static java.lang.String` | `REPO_ITEM_ELEM_NAME` |
    `static java.lang.String` | `SERIALNUMBER_KEY` |

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

      `ADMINS_ATT, ADMINS_LABEL, OWNER_ATT, OWNER_LABEL`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CertificateItem()` |
    `CertificateItem​(java.lang.String alias, CertificateEntry entry)` |

  - ### 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.
    `java.lang.String` | `getAlias()` |
    `CertificateEntry` | `getCertificateEntry()` |
    `java.lang.String` | `getElemName()` |
    `java.util.Optional<java.lang.String>` | `getFingerprint()` |
    `java.lang.String` | `getKey()` | Returns a unique key for the item in the repository.
    `java.util.Optional<java.lang.String>` | `getSerialNumber()` |
    `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.
    `boolean` | `isDefault()` |
    `void` | `setAlias​(java.lang.String alias)` |
    `void` | `setDefault​(boolean aDefault)` |
    `void` | `setFingerprint​(java.lang.String fingerprint)` |
    `protected void` | `setKey​(java.lang.String key)` |
    `void` | `setSerialNumber​(java.lang.String serialNumber)` |
    `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

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

- - ### Field Detail

    - #### PEM_CERTIFICATE_KEY

          public static final java.lang.String PEM_CERTIFICATE_KEY

      See Also:
        Constant Field Values

    - #### FINGERPRINT_KEY

          public static final java.lang.String FINGERPRINT_KEY

      See Also:
        Constant Field Values

    - #### SERIALNUMBER_KEY

          public static final java.lang.String SERIALNUMBER_KEY

      See Also:
        Constant Field Values

    - #### IS_DEFAULT_KEY

          public static final java.lang.String IS_DEFAULT_KEY

      See Also:
        Constant Field Values

    - #### ALIAS_KEY

          public static final java.lang.String ALIAS_KEY

      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

    - #### CertificateItem

          public CertificateItem()

    - #### CertificateItem

          public CertificateItem​(java.lang.String alias,
                                 CertificateEntry entry)

  - ### Method Detail

    - #### getSerialNumber

          public java.util.Optional<java.lang.String> getSerialNumber()

    - #### setSerialNumber

          public void setSerialNumber​(java.lang.String serialNumber)

    - #### getFingerprint

          public java.util.Optional<java.lang.String> getFingerprint()

    - #### setFingerprint

          public void setFingerprint​(java.lang.String fingerprint)

    - #### 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.
      Returns:
        an Item key.

    - #### setKey

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

      Specified by:
        `setKey` in class `RepositoryItemAbstract`

    - #### getElemName

          public java.lang.String getElemName()

      Specified by:
        `getElemName` in class `RepositoryItemAbstract`

    - #### getCertificateEntry

          public CertificateEntry getCertificateEntry()

    - #### getAlias

          public java.lang.String getAlias()

    - #### setAlias

          public void setAlias​(java.lang.String alias)

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

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

    - #### 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.
      Parameters:
        `propString` - is a property string to initialize the RepositoryItem.

    - #### isDefault

          public boolean isDefault()

    - #### setDefault

          public void setDefault​(boolean aDefault)

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

    - #### toString

          public java.lang.String toString()

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

    - #### 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.
      Returns:
        a property string representing the repository item in a simplified form.