Package tigase.vhosts
Class VHostItemImpl.VHostItemWrapper
- java.lang.Object
-
- tigase.vhosts.VHostItemImpl.VHostItemWrapper
-
- All Implemented Interfaces:
java.lang.Comparable<VHostItem>
,RepositoryItem
,VHostItem
- Enclosing class:
- VHostItemImpl
protected static class VHostItemImpl.VHostItemWrapper extends java.lang.Object implements VHostItem
-
-
Field Summary
-
Fields inherited from interface tigase.vhosts.VHostItem
DEF_VHOST_KEY
-
-
Constructor Summary
Constructors Constructor Description VHostItemWrapper()
-
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[]
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()
java.lang.String[]
getComps()
<T> T
getData(java.lang.String key)
DomainFilterPolicy
getDomainFilter()
java.lang.String[]
getDomainFilterDomains()
<T extends VHostItemExtension>
TgetExtension(java.lang.Class<T> clazz)
java.util.Set<java.lang.Class<? extends VHostItemExtension>>
getExtensionClasses()
<T extends VHostItemExtension>
java.util.Set<T>getExtensions()
java.lang.String
getKey()
Returns a unique key for the item in the repository.java.lang.Long
getMaxUsersNumber()
JID
getMessageForward()
java.lang.String
getOtherDomainParams()
java.lang.String
getOwner()
Returns the owner ID of the item.JID
getPresenceForward()
java.lang.String
getS2sSecret()
java.lang.String[]
getSaslAllowedMechanisms()
java.util.Set<java.lang.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(java.lang.String propString)
The item can be initialized based on the data loaded from a configuration file.boolean
isAnonymousEnabled()
boolean
isData(java.lang.String key)
boolean
isEnabled()
boolean
isOwner(java.lang.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(java.lang.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(java.lang.String domain)
void
setOwner(java.lang.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.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 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
-
-
-
-
Method Detail
-
setItem
public void setItem(VHostItem item)
-
setDefaultVHost
public void setDefaultVHost(VHostItem item)
-
setVHostDefaults
public void setVHostDefaults(VHostItemDefaults vHostDefaults)
-
refresh
public void refresh()
-
getC2SPortsAllowed
public int[] getC2SPortsAllowed()
- Specified by:
getC2SPortsAllowed
in interfaceVHostItem
-
getDomainFilter
public DomainFilterPolicy getDomainFilter()
- Specified by:
getDomainFilter
in interfaceVHostItem
-
getDomainFilterDomains
public java.lang.String[] getDomainFilterDomains()
- Specified by:
getDomainFilterDomains
in interfaceVHostItem
-
getExtension
public <T extends VHostItemExtension> T getExtension(java.lang.Class<T> clazz)
- Specified by:
getExtension
in interfaceVHostItem
-
getExtensions
public <T extends VHostItemExtension> java.util.Set<T> getExtensions()
- Specified by:
getExtensions
in interfaceVHostItem
-
getExtensionClasses
public java.util.Set<java.lang.Class<? extends VHostItemExtension>> getExtensionClasses()
- Specified by:
getExtensionClasses
in interfaceVHostItem
-
getMaxUsersNumber
public java.lang.Long getMaxUsersNumber()
- Specified by:
getMaxUsersNumber
in interfaceVHostItem
-
getMessageForward
public JID getMessageForward()
- Specified by:
getMessageForward
in interfaceVHostItem
-
getOtherDomainParams
public java.lang.String getOtherDomainParams()
- Specified by:
getOtherDomainParams
in interfaceVHostItem
-
getPresenceForward
public JID getPresenceForward()
- Specified by:
getPresenceForward
in interfaceVHostItem
-
getS2sSecret
public java.lang.String getS2sSecret()
- Specified by:
getS2sSecret
in interfaceVHostItem
-
getTrustedJIDs
public java.util.Set<java.lang.String> getTrustedJIDs()
- Specified by:
getTrustedJIDs
in interfaceVHostItem
-
isAnonymousEnabled
public boolean isAnonymousEnabled()
- Specified by:
isAnonymousEnabled
in interfaceVHostItem
-
isRegisterEnabled
public boolean isRegisterEnabled()
- Specified by:
isRegisterEnabled
in interfaceVHostItem
-
isTlsRequired
public boolean isTlsRequired()
- Specified by:
isTlsRequired
in interfaceVHostItem
-
getSaslAllowedMechanisms
public java.lang.String[] getSaslAllowedMechanisms()
- Specified by:
getSaslAllowedMechanisms
in interfaceVHostItem
-
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 interfaceRepositoryItem
- Parameters:
packet
- with empty ad-hoc command to fill with fields
-
getAdmins
public java.lang.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 interfaceRepositoryItem
- Returns:
- an array with the Item administrators IDs.
-
setAdmins
public void setAdmins(java.lang.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 interfaceRepositoryItem
- Parameters:
admins
- is an array with the Item administrators IDs to set for the Item.
-
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 interfaceRepositoryItem
- Returns:
- an Item key.
-
getOwner
public java.lang.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 interfaceRepositoryItem
- Returns:
- an ID of the Item owner.
-
setOwner
public void setOwner(java.lang.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 interfaceRepositoryItem
- 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 interfaceRepositoryItem
- 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 interfaceRepositoryItem
- 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 interfaceRepositoryItem
- Parameters:
propString
- is a property string to initialize the RepositoryItem.
-
isOwner
public boolean isOwner(java.lang.String id)
Description copied from interface:RepositoryItem
The method checks whether the person with given ID is the Item owner.- Specified by:
isOwner
in interfaceRepositoryItem
- 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 interfaceRepositoryItem
- 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 interfaceRepositoryItem
- Returns:
- a property string representing the repository item in a simplified form.
-
readOnly
protected void readOnly()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-