|
XMOJO 5 API Docs | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The Relation Service is in charge of creating and deleting relation types and relations, of handling the consistency and of providing query mechanisms.
Method Summary | |
void |
addRelation(ObjectName theRelObjectName)
Adds a MBean created by te user (and registered by him in the MBean Server) as a relation in the Relation Service. |
void |
addRelationType(RelationType theRelTypeObj)
Adds given object as a relation type. |
java.lang.Integer |
checkRoleReading(java.lang.String theRoleName,
java.lang.String theRelTypeName)
Checks if given Role can be read in a relation of the given type. |
java.lang.Integer |
checkRoleWriting(Role theRole,
java.lang.String theRelTypeName,
java.lang.Boolean theInitFlg)
Checks if given Role can be set in a relation of given type. |
void |
createRelation(java.lang.String theRelId,
java.lang.String theRelTypeName,
RoleList theRoleList)
Creates a simple relation (represented by a RelationSupport object) of given relation type, and adds it in the Relation Service. |
void |
createRelationType(java.lang.String theRelTypeName,
RoleInfo[] theRoleInfoArray)
Creates a relation type (RelationTypeSupport object) with given role infos (provided by the RoleInfo objects), and adds it in the Relation Service. |
java.util.Map |
findAssociatedMBeans(ObjectName theMBeanName,
java.lang.String theRelTypeName,
java.lang.String theRoleName)
Retrieves the MBeans associated to given one in a relation. |
java.util.Map |
findReferencingRelations(ObjectName theMBeanName,
java.lang.String theRelTypeName,
java.lang.String theRoleName)
Retrieves the relations where a given MBean is referenced. |
java.util.List |
findRelationsOfType(java.lang.String theRelTypeName)
Returns the relation ids for relations of the given type. |
java.util.List |
getAllRelationIds()
Returns all the relation ids for all the relations handled by the Relation Service |
java.util.List |
getAllRelationTypeNames()
Retrieves names of all known relation types |
RoleResult |
getAllRoles(java.lang.String theRelId)
Returns all roles present in the relation |
boolean |
getPurgeFlag()
Returns the flag to indicate when a notification is received for the unregistration of a MBean referenced in a relation, if an immediate "purge" of the relations (look for the relations no longer valid) has to be performed , or if that will be performed only when the purgeRelations method will be explicitly called. |
java.util.Map |
getReferencedMBeans(java.lang.String theRelId)
Retrieves MBeans referenced in the various roles of the relation. |
java.lang.String |
getRelationTypeName(java.lang.String theRelId)
Returns name of associated relation type for given relation. |
java.util.List |
getRole(java.lang.String theRelId,
java.lang.String theRoleName)
Retrieves role value for given role name in given relation. |
java.lang.Integer |
getRoleCardinality(java.lang.String theRelId,
java.lang.String theRoleName)
Retrieves the number of MBeans currently referenced in the given role. |
RoleInfo |
getRoleInfo(java.lang.String theRelTypeName,
java.lang.String theRoleInfoName)
Retrieves role info for given role of a given relation type |
java.util.List |
getRoleInfos(java.lang.String theRelTypeName)
Retrieves list of role infos (RoleInfo objects) of a given relation type |
RoleResult |
getRoles(java.lang.String theRelId,
java.lang.String[] theRoleNameArray)
Retrieves values of roles with given names in given relation. |
java.lang.Boolean |
hasRelation(java.lang.String theRelId)
Checks if there is a relation identified in Relation Service with given relation id. |
void |
isActive()
Checks if the Relation Service is active. |
java.lang.String |
isRelation(ObjectName theObjName)
Returns the relation id associated to the given ObjectName if the MBean has been added as a relation in the Relation Service. |
ObjectName |
isRelationMBean(java.lang.String theRelId)
If the relation is represented by a MBean (created by the user and added as a relation in the Relation Service), returns the ObjectName of the MBean. |
void |
purgeRelations()
Purges the relations. |
void |
removeRelation(java.lang.String theRelId)
Removes given relation from the Relation Service. |
void |
removeRelationType(java.lang.String theRelTypeName)
Removes given relation type from Relation Service. |
void |
sendRelationCreationNotification(java.lang.String theRelId)
Sends a notification (RelationNotification) for a relation creation. |
void |
sendRelationRemovalNotification(java.lang.String theRelId,
java.util.List theUnregMBeanList)
Sends a notification (RelationNotification) for a relation removal. |
void |
sendRoleUpdateNotification(java.lang.String theRelId,
Role theNewRole,
java.util.List theOldRoleValue)
Sends a notification (RelationNotification) for a role update in the given relation. |
void |
setPurgeFlag(boolean thePurgeFlg)
Sets the flag to indicate if when a notification is received for the unregistration of a MBean referenced in a relation, if an immediate "purge" of the relations (look for the relations no longer valid) has to be performed , or if that will be performed only when the purgeRelations method will be explicitly called. |
void |
setRole(java.lang.String theRelId,
Role theRole)
Sets the given role in given relation. |
RoleResult |
setRoles(java.lang.String theRelId,
RoleList theRoleList)
Sets the given roles in given relation. |
void |
updateRoleMap(java.lang.String theRelId,
Role theNewRole,
java.util.List theOldRoleValue)
Handles update of the Relation Service role map for the update of given role in given relation. |
Method Detail |
public void addRelation(ObjectName theRelObjectName) throws java.lang.IllegalArgumentException, RelationServiceNotRegisteredException, java.lang.NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException
theRelObjectName
- - ObjectName of the relation MBean to be added.java.lang.IllegalArgumentException
- - if null parameterRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.NoSuchMethodException
- - If the MBean does not implement
the Relation interfaceInvalidRelationIdException
- - if:
- no relation identifier in MBean
- the relation identifier is already used in the Relation ServiceInstanceNotFoundException
- - if the MBean for given ObjectName
has not been registeredInvalidRelationServiceException
- - if:
- no Relation Service name in MBean
- the Relation Service name in the MBean is not the one of
the current Relation ServiceRelationTypeNotFoundException
- - if:
- no relation type name in MBean
- the relation type name in MBean does not correspond to a
relation type created in the Relation ServiceInvalidRoleValueException
- - if:
- the number of referenced MBeans in a role is less than
expected minimum degree
- the number of referenced MBeans in a role exceeds expected
maximum degree
- one referenced MBean in the value is not an Object of the
MBean class expected for that role
- a MBean provided for a role does not existRoleNotFoundException
- - if a value is provided for a role that
does not exist in the relation typepublic void addRelationType(RelationType theRelTypeObj) throws java.lang.IllegalArgumentException, InvalidRelationTypeException
theRelTypeObj
- - relation type object (implementing the
RelationType interface)java.lang.IllegalArgumentException
- - if null parameterInvalidRelationTypeException
- - if there is already a relation
type with that namepublic java.lang.Integer checkRoleReading(java.lang.String theRoleName, java.lang.String theRelTypeName) throws java.lang.IllegalArgumentException, RelationTypeNotFoundException
theRoleName
- - name of role to be checkedtheRelTypeName
- - name of the relation typeIllegalArgument
- - if null parameterRelationTypeNotFoundException
- - if the relation type is not
known in the Relation Servicepublic java.lang.Integer checkRoleWriting(Role theRole, java.lang.String theRelTypeName, java.lang.Boolean theInitFlg) throws java.lang.IllegalArgumentException, RelationTypeNotFoundException
theRole
- - role to be checkedtheRelTypeName
- - name of relation typetheInitFlg
- - flag to specify that the checking is done for the
initialisation of a role, write access shall not be verified.java.lang.IllegalArgumentException
- - if null parameterRelationTypeNotFoundException
- - if unknown relation typepublic void createRelation(java.lang.String theRelId, java.lang.String theRelTypeName, RoleList theRoleList) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException
theRelId
- - relation identifier, to uniquely identify the relation
inside the Relation ServicetheRelTypeName
- - name of the relation type (has to be created in
the Relation Service)theRoleList
- - role list to initialise roles of the relation (can be null).RelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.IllegalArgumentException
- - if null paramaterRoleNotFoundException
- - if a value is provided for a role that
does not exist in the relation typeInvalidRelationIdException
- - if relation id already usedRelationTypeNotFoundException
- - if relation type not known in
Relation ServiceInvalidRoleValueException
- - if:
- the same role name is used for two different roles
- the number of referenced MBeans in given value is less
than expected minimum degree
- the number of referenced MBeans in provided value exceeds
expected maximum degree
- one referenced MBean in the value is not an Object of the
MBean class expected for that role
- a MBean provided for that role does not existpublic void createRelationType(java.lang.String theRelTypeName, RoleInfo[] theRoleInfoArray) throws java.lang.IllegalArgumentException, InvalidRelationTypeException
theRelTypeName
- - name of the relation typetheRoleInfoArray
- - array of role infosjava.lang.IllegalArgumentException
- - if null parameterInvalidRelationTypeException
- - If:
- there is already a relation type with that name
- the same name has been used for two different role infos
- no role info provided
- one null role info providedpublic java.util.Map findAssociatedMBeans(ObjectName theMBeanName, java.lang.String theRelTypeName, java.lang.String theRoleName) throws java.lang.IllegalArgumentException
theMBeanName
- - ObjectName of MBeantheRelTypeName
- - can be null; if specified, only the relations of
that type will be considered in the search. Else all
relation types are considered.theRoleName
- - can be null; if specified, only the relations where
the MBean is referenced in that role will be considered.
Else all roles are considered.java.lang.IllegalArgumentException
- - if null parameterpublic java.util.Map findReferencingRelations(ObjectName theMBeanName, java.lang.String theRelTypeName, java.lang.String theRoleName) throws java.lang.IllegalArgumentException
theMBeanName
- - ObjectName of MBeantheRelTypeName
- - can be null; if specified, only the relations of
that type will be considered in the search. Else all
relation types are considered.theRoleName
- - can be null; if specified, only the relations where
the MBean is referenced in that role will be returned.
Else all roles are considered.java.lang.IllegalArgumentException
- - if null parameterpublic java.util.List findRelationsOfType(java.lang.String theRelTypeName) throws java.lang.IllegalArgumentException, RelationTypeNotFoundException
theRelTypeName
- - relation type namejava.lang.IllegalArgumentException
- - if null parameterRelationTypeNotFoundException
- - if there is no relation type
with that name.public java.util.List getAllRelationIds()
public java.util.List getAllRelationTypeNames()
public RoleResult getAllRoles(java.lang.String theRelId) throws java.lang.IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException
theRelId
- - relation idjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation for given idRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverpublic boolean getPurgeFlag()
public java.util.Map getReferencedMBeans(java.lang.String theRelId) throws java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation idjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation for given relation idpublic java.lang.String getRelationTypeName(java.lang.String theRelId) throws java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation idjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation for given relation idpublic java.util.List getRole(java.lang.String theRelId, java.lang.String theRoleName) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
theRelId
- - relation idtheRoleName
- - name of roleRelationServiceNotRegisteredException
- - if the Relation Service
is not registeredjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation with given idRoleNotFoundException
- - if:
- there is no role with given name
or
- the role is not readable.public java.lang.Integer getRoleCardinality(java.lang.String theRelId, java.lang.String theRoleName) throws java.lang.IllegalArgumentException, RelationNotFoundException, RoleNotFoundException
theRelId
- - relation idtheRoleName
- - name of rolejava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation with given idRoleNotFoundException
- - if there is no role with given namepublic RoleInfo getRoleInfo(java.lang.String theRelTypeName, java.lang.String theRoleInfoName) throws java.lang.IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException
theRelTypeName
- - name of relation typetheRoleInfoName
- - name of rolejava.lang.IllegalArgumentException
- - if null parameterRelationTypeNotFoundException
- - if the relation type is not
known in the Relation ServiceRoleInfoNotFoundException
- - if the role is not part of the relation type.public java.util.List getRoleInfos(java.lang.String theRelTypeName) throws java.lang.IllegalArgumentException, RelationTypeNotFoundException
theRelTypeName
- - name of relation typejava.lang.IllegalArgumentException
- - if null parameterRelationTypeNotFoundException
- - if there is no relation type
with that name.public RoleResult getRoles(java.lang.String theRelId, java.lang.String[] theRoleNameArray) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation idtheRoleNameArray
- - array of names of roles to be retrievedRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation with given idpublic java.lang.Boolean hasRelation(java.lang.String theRelId) throws java.lang.IllegalArgumentException
theRelId
- - relation id identifying the relationjava.lang.IllegalArgumentException
- - if null parameterpublic void isActive() throws RelationServiceNotRegisteredException
RelationServiceNotRegisteredException
- - if it is not registeredpublic java.lang.String isRelation(ObjectName theObjName) throws java.lang.IllegalArgumentException
theObjName
- - ObjectName of supposed relationjava.lang.IllegalArgumentException
- - if null parameterpublic ObjectName isRelationMBean(java.lang.String theRelId) throws java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation id identifying the relationjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - there is no relation associated to that idpublic void purgeRelations() throws RelationServiceNotRegisteredException
RelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Server.public void removeRelation(java.lang.String theRelId) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation id of the relation to be removedRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation corresponding to
given relation idpublic void removeRelationType(java.lang.String theRelTypeName) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RelationTypeNotFoundException
theRelTypeName
- - name of the relation type to be removedRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.IllegalArgumentException
- - if null parameterRelationTypeNotFoundException
- - If there is no relation type
with that namepublic void sendRelationCreationNotification(java.lang.String theRelId) throws java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation identifier of the updated relationjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if there is no relation for given relation idpublic void sendRelationRemovalNotification(java.lang.String theRelId, java.util.List theUnregMBeanList) throws java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation identifier of the updated relationtheUnregMBeanList
- - ArrayList of ObjectNames of MBeans expected
to be unregistered due to relation removal (can be null)java.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if there is no relation for given relation idpublic void sendRoleUpdateNotification(java.lang.String theRelId, Role theNewRole, java.util.List theOldRoleValue) throws java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation identifier of the updated relationtheNewRole
- - new role (name and new value)theOldRoleValue
- - old role value (ArrayList of ObjectName objects)java.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if there is no relation for given relation idpublic void setPurgeFlag(boolean thePurgeFlg)
thePurgeFlg
- - flagpublic void setRole(java.lang.String theRelId, Role theRole) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException
theRelId
- - relation idtheRole
- - role to be set (name and new value)RelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation with given idRoleNotFoundException
- - if:
- internal relation
and
- the role does not exist or is not writableInvalidRoleValueException
- - if internal relation and value
provided for role is not valid:
- the number of referenced MBeans in given value is less
than expected minimum degree
or
- the number of referenced MBeans in provided value exceeds
expected maximum degree
or
- one referenced MBean in the value is not an Object of the
MBean class expected for that role
or
- a MBean provided for that role does not existRelationTypeNotFoundException
- - if unknown relation typepublic RoleResult setRoles(java.lang.String theRelId, RoleList theRoleList) throws RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, RelationNotFoundException
theRelId
- - relation idtheRoleList
- - list of roles to be setRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean Serverjava.lang.IllegalArgumentException
- - if null parameterRelationNotFoundException
- - if no relation with given idpublic void updateRoleMap(java.lang.String theRelId, Role theNewRole, java.util.List theOldRoleValue) throws java.lang.IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException
theRelId
- - relation identifier of the updated relationtheNewRole
- - new role (name and new value)theOldRoleValue
- - old role value (ArrayList of ObjectName objects)java.lang.IllegalArgumentException
- - if null parameterRelationServiceNotRegisteredException
- - if the Relation Service
is not registered in the MBean ServerRelationNotFoundException
- - if no relation for given id.
|
XMOJO 5 API Docs | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |