Package tigase.vhosts

# Class VHostItemImpl.VHostItemWrapper

java.lang.Object
tigase.vhosts.VHostItemImpl.VHostItemWrapper

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

Enclosing class:
  VHostItemImpl

protected static class VHostItemImpl.VHostItemWrapper extends Object implements VHostItem

- ## Field Summary

  ### Fields inherited from interface tigase.vhosts.VHostItem

  `DEF_VHOST_KEY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VHostItemWrapper()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCommandFields(Packet packet)`
  The method is used for handling ad-hoc commands.
  `String[]`
  `getAdmins()`
  Returns an array with the Item administrators, that is people IDs who can manage, configure and control less critical elements of the Item, like changing less critical configuration settings.
  `int[]`
  `getC2SPortsAllowed()`
  `String[]`
  `getComps()`
  `<T> T`
  `getData(String key)`
  `DomainFilterPolicy`
  `getDomainFilter()`
  `String[]`
  `getDomainFilterDomains()`
  `<T extends VHostItemExtension>
  T`
  `getExtension(Class<T> clazz)`
  `Set<Class<? extends VHostItemExtension>>`
  `getExtensionClasses()`
  `<T extends VHostItemExtension>
  Set<T>`
  `getExtensions()`
  `String`
  `getKey()`
  Returns a unique key for the item in the repository.
  `Long`
  `getMaxUsersNumber()`
  `JID`
  `getMessageForward()`
  `String`
  `getOtherDomainParams()`
  `String`
  `getOwner()`
  Returns the owner ID of the item.
  `JID`
  `getPresenceForward()`
  `String`
  `getS2sSecret()`
  `String[]`
  `getSaslAllowedMechanisms()`
  `Set<String>`
  `getTrustedJIDs()`
  `JID`
  `getVhost()`
  `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(String propString)`
  The item can be initialized based on the data loaded from a configuration file.
  `boolean`
  `isAnonymousEnabled()`
  `boolean`
  `isData(String key)`
  `boolean`
  `isEnabled()`
  `boolean`
  `isOwner(String id)`
  The method checks whether the person with given ID is the Item owner.
  `boolean`
  `isRegisterEnabled()`
  `boolean`
  `isTlsRequired()`
  `protected void`
  `readOnly()`
  `void`
  `refresh()`
  `void`
  `setAdmins(String[] admins)`
  Returns an array with the Item administrators, that is people IDs who can manage, configure and control less critical elements of the Item, like changing less critical configuration settings.
  `void`
  `setDefaultVHost(VHostItem item)`
  `void`
  `setItem(VHostItem item)`
  `void`
  `setKey(String domain)`
  `void`
  `setOwner(String owner)`
  Set the Item owner.
  `void`
  `setVHostDefaults(VHostItemDefaults vHostDefaults)`
  `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 java.lang.Object

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

  ### Methods inherited from interface tigase.vhosts.VHostItem

  `compareTo, getMessageForwardAddress, getPresenceForwardAddress, isAdmin, isTrustedJID`

- ## Constructor Details

  - ### VHostItemWrapper

    public VHostItemWrapper()

- ## Method Details

  - ### setItem

    public void setItem(VHostItem item)

  - ### setDefaultVHost

    public void setDefaultVHost(VHostItem item)

  - ### setVHostDefaults

    public void setVHostDefaults(VHostItemDefaults vHostDefaults)

  - ### refresh

    public void refresh()

  - ### getComps

    public String[] getComps()
    Specified by:
      `getComps` in interface `VHostItem`

  - ### getC2SPortsAllowed

    public int[] getC2SPortsAllowed()
    Specified by:
      `getC2SPortsAllowed` in interface `VHostItem`

  - ### getData

    public <T> T getData(String key)
    Specified by:
      `getData` in interface `VHostItem`

  - ### getDomainFilter

    public DomainFilterPolicy getDomainFilter()
    Specified by:
      `getDomainFilter` in interface `VHostItem`

  - ### getDomainFilterDomains

    public String[] getDomainFilterDomains()
    Specified by:
      `getDomainFilterDomains` in interface `VHostItem`

  - ### getExtension

    public <T extends VHostItemExtension> T getExtension(Class<T> clazz)
    Specified by:
      `getExtension` in interface `VHostItem`

  - ### getExtensions

    public <T extends VHostItemExtension> Set<T> getExtensions()
    Specified by:
      `getExtensions` in interface `VHostItem`

  - ### getExtensionClasses

    public Set<Class<? extends VHostItemExtension>> getExtensionClasses()
    Specified by:
      `getExtensionClasses` in interface `VHostItem`

  - ### getMaxUsersNumber

    public Long getMaxUsersNumber()
    Specified by:
      `getMaxUsersNumber` in interface `VHostItem`

  - ### getMessageForward

    public JID getMessageForward()
    Specified by:
      `getMessageForward` in interface `VHostItem`

  - ### getOtherDomainParams

    public String getOtherDomainParams()
    Specified by:
      `getOtherDomainParams` in interface `VHostItem`

  - ### getPresenceForward

    public JID getPresenceForward()
    Specified by:
      `getPresenceForward` in interface `VHostItem`

  - ### getS2sSecret

    public String getS2sSecret()
    Specified by:
      `getS2sSecret` in interface `VHostItem`

  - ### getTrustedJIDs

    public Set<String> getTrustedJIDs()
    Specified by:
      `getTrustedJIDs` in interface `VHostItem`

  - ### getVhost

    public JID getVhost()
    Specified by:
      `getVhost` in interface `VHostItem`

  - ### isAnonymousEnabled

    public boolean isAnonymousEnabled()
    Specified by:
      `isAnonymousEnabled` in interface `VHostItem`

  - ### isData

    public boolean isData(String key)
    Specified by:
      `isData` in interface `VHostItem`

  - ### isEnabled

    public boolean isEnabled()
    Specified by:
      `isEnabled` in interface `VHostItem`

  - ### isRegisterEnabled

    public boolean isRegisterEnabled()
    Specified by:
      `isRegisterEnabled` in interface `VHostItem`

  - ### isTlsRequired

    public boolean isTlsRequired()
    Specified by:
      `isTlsRequired` in interface `VHostItem`

  - ### getSaslAllowedMechanisms

    public String[] getSaslAllowedMechanisms()
    Specified by:
      `getSaslAllowedMechanisms` in interface `VHostItem`

  - ### 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`
    Parameters:
      `packet` - with empty ad-hoc command to fill with fields

  - ### getAdmins

    public String[] getAdmins()
    Description copied from interface: `RepositoryItem`
    Returns an array with the Item administrators, that is people IDs who can manage, configure and control less critical elements of the Item, like changing less critical configuration settings. Administrators cannot remove the Item or change the owner or add/remove administrators.
    Specified by:
      `getAdmins` in interface `RepositoryItem`
    Returns:
      an array with the Item administrators IDs.

  - ### setAdmins

    public void setAdmins(String[] admins)
    Description copied from interface: `RepositoryItem`
    Returns an array with the Item administrators, that is people IDs who can manage, configure and control less critical elements of the Item, like changing less critical configuration settings. Administrators cannot remove the Item or change the owner or add/remove administrators.
    Specified by:
      `setAdmins` in interface `RepositoryItem`
    Parameters:
      `admins` - is an array with the Item administrators IDs to set for the Item.

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

    public void setKey(String domain)
    Specified by:
      `setKey` in interface `VHostItem`

  - ### getOwner

    public String getOwner()
    Description copied from interface: `RepositoryItem`
    Returns the owner ID of the item. This is used for a management to allow fine tuned service administration with roles assigned to specific elements and items. Normally only owner can perform some critical actions like removing the item, managing item administrators or changing owner.
    There can be only one Item owner.
    Specified by:
      `getOwner` in interface `RepositoryItem`
    Returns:
      an ID of the Item owner.

  - ### setOwner

    public void setOwner(String owner)
    Description copied from interface: `RepositoryItem`
    Set the Item owner. This is used for a management to allow fine tuned service administration with roles assigned to specific elements and items. Normally only owner can perform some critical actions like removing the item, managing item administrators or changing owner.
    There can be only one Item owner.
    Specified by:
      `setOwner` in interface `RepositoryItem`
    Parameters:
      `owner` - is the Item owner ID.

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

  - ### isOwner

    public boolean isOwner(String id)
    Description copied from interface: `RepositoryItem`
    The method checks whether the person with given ID is the Item owner.
    Specified by:
      `isOwner` in interface `RepositoryItem`
    Parameters:
      `id` - is an ID of a person for whom we check access permissions.
    Returns:
      true of the given ID is on the Item owner and false otherwise.

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

  - ### readOnly

    protected void readOnly()

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`