tigase.db.comp
Interface RepositoryItem
- All Known Implementing Classes:
- CompRepoItem, ConfigItem, RepositoryItemAbstract, VHostItem
public interface RepositoryItem
The interface defines a contract for a repository item handled by
ComponentRepository implementation.
Created: Oct 3, 2009 2:35:58 PM
- Version:
- $Rev: 2996 $
- Author:
- Artur Hefczyc
|
Method Summary |
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. |
String |
getKey()
Returns a unique key for the item in the repository. |
String |
getOwner()
Returns the owner ID of the item. |
void |
initFromCommand(Packet packet)
The method used for handling ad-hoc commands. |
void |
initFromElement(tigase.xml.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 |
isAdmin(String id)
The method checks whether the given id is one of the administrators set for the Item. |
boolean |
isOwner(String id)
The method checks whether the person with given ID is the Item owner. |
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 |
setOwner(String owner)
Set the Item owner. |
tigase.xml.Element |
toElement()
Item data can be stored in a more comlex form than a simple property string. |
String |
toPropertyString()
The item can be initialized based on the data loaded from a configuration file. |
addCommandFields
void addCommandFields(Packet packet)
- 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.
- Parameters:
packet - with empty ad-hoc command to fill with fields
getAdmins
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. Administrators cannot remove the Item or change the owner or
add/remove administrators.
- Returns:
- an array with the Item administrators IDs.
getKey
String getKey()
- 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.
getOwner
String getOwner()
- 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.
- Returns:
- an ID of the Item owner.
initFromCommand
void initFromCommand(Packet packet)
- 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.
- Parameters:
packet - with ad-hoc command filled by the user.
initFromElement
void initFromElement(tigase.xml.Element elem)
- 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.
- Parameters:
elem - XML Element with all the item initialization data.
initFromPropertyString
void initFromPropertyString(String propString)
- 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.
isAdmin
boolean isAdmin(String id)
- The method checks whether the given id is one of the administrators set for the Item.
- Parameters:
id - is an ID of a person for which we check access permissions.
- Returns:
- true of the given ID is on a list of administrators and false otherwise.
isOwner
boolean isOwner(String id)
- The method checks whether the person with given ID is the Item owner.
- 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.
setAdmins
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. Administrators cannot remove the Item or change the owner or
add/remove administrators.
- Parameters:
admins - is an array with the Item administrators IDs to set for the Item.
setOwner
void setOwner(String owner)
- 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.
- Parameters:
owner - is the Item owner ID.
toElement
tigase.xml.Element toElement()
- Item data can be stored in a more comlex 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.
- Returns:
- an XML Element with all the item initialization data.
toPropertyString
String toPropertyString()
- 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.
Copyright © 2012 Tigase. All Rights Reserved.