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