Interface IRelationshipManager
-
- All Known Implementing Classes:
RelationshipManager
public interface IRelationshipManager
Provides operations on the relationship framework.- Since:
- 7.0.0
- Version:
- $Revision: 15056 $ $Date: 2012-11-29 18:51:41 -0200 (Thu, 29 Nov 2012) $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
addNode(String type, String objectId)
Adds a new relatable node.String
addRelationship(IRelatable source, IRelatable target, IRelationshipType relationshipType)
Adds a new relationship between the source and target nodes.String
addRelationshipType(String id, String name, String reverseName, Set<String> sourceTypes, Set<String> targetTypes, boolean bidirectional)
Adds a new type of relationship.void
deleteNode(String id)
Removes a node.void
deleteRelationship(String id)
Removes a relationship.void
deleteRelationshipType(String id)
Removes a type of relationship.IRelatable
getNode(String id)
Gets the relatable node.IRelatable
getNode(String type, String objectId, boolean createNode)
Gets the relatable node or creates a new node with the values in type and objectId params if the param createNode is equal to true.IRelationship
getRelationship(String id)
Gets the relationship.IRelationshipType
getRelationshipType(String id)
Gets the type of relationship.Set<IRelatable>
listRelationships(IRelatable firstObject, IRelatable secondObject, IRelationshipType relationshipType)
Lists all relatable nodes that contains a relationship with firstObject and secondObject.Set<IRelationship>
listRelationships(IRelatable source, IRelationshipType relationshipType)
Lists all relationships where the param source is the source and where the param source is the target if the relationship is bidirectional.void
updateRelationshipType(IRelationshipType relationshipType)
Updates a type of relationship.
-
-
-
Method Detail
-
addNode
String addNode(String type, String objectId) throws PortalObjectAlreadyExistsException
Adds a new relatable node.- Parameters:
type
- of node.objectId
- identify some kind of object.- Returns:
- the identify of node created.
- Throws:
PortalObjectAlreadyExistsException
- if exist some node with the same type and objectId.- Since:
- 7.0.0
-
addRelationship
String addRelationship(IRelatable source, IRelatable target, IRelationshipType relationshipType) throws PortalException
Adds a new relationship between the source and target nodes.- Parameters:
source
- relatable source.target
- relatable target.relationshipType
- a kind of relationship.- Returns:
- the identify of relationship created.
- Throws:
PortalException
- Since:
- 7.0.0
-
addRelationshipType
String addRelationshipType(String id, String name, String reverseName, Set<String> sourceTypes, Set<String> targetTypes, boolean bidirectional) throws PortalException
Adds a new type of relationship.- Parameters:
id
- identifies the type of relationship.name
- display name to source.reverseName
- display name to target.sourceTypes
- set that contains names to type of source.targetTypes
- set that contains names to type of target.bidirectional
- true or false if the relationship is bidirectional.- Returns:
- the identify of relationshipType created.
- Throws:
PortalException
- Since:
- 7.0.0
-
deleteNode
void deleteNode(String id) throws PortalObjectNotFoundException
Removes a node.- Parameters:
id
- identifies the node.- Throws:
PortalObjectNotFoundException
- if the node was not found.- Since:
- 7.0.0
-
deleteRelationship
void deleteRelationship(String id) throws PortalObjectNotFoundException
Removes a relationship.- Parameters:
id
- identifies the relationship.- Throws:
PortalObjectNotFoundException
- if the relationship was not found.- Since:
- 7.0.0
-
deleteRelationshipType
void deleteRelationshipType(String id) throws PortalObjectNotFoundException
Removes a type of relationship.- Parameters:
id
- identifies the type of relationship.- Throws:
PortalObjectNotFoundException
- if the type of relationship was not found.- Since:
- 7.0.0
-
getNode
IRelatable getNode(String id) throws PortalException
Gets the relatable node.- Parameters:
id
- identifies the node.- Returns:
- a IRelatable that contains the identity equals the value passed in id param.
- Throws:
PortalException
- Since:
- 7.0.0
-
getNode
IRelatable getNode(String type, String objectId, boolean createNode) throws PortalException
Gets the relatable node or creates a new node with the values in type and objectId params if the param createNode is equal to true.- Parameters:
type
- of node.objectId
- identify some kind of object.createNode
- true or false.- Returns:
- a new node or a node existing.
- Throws:
PortalException
- Since:
- 7.0.0
-
getRelationship
IRelationship getRelationship(String id) throws PortalException
Gets the relationship.- Parameters:
id
- identifies the relationship.- Returns:
- a IRelationship that contains the identity equals the value passed in id param.
- Throws:
PortalException
- Since:
- 7.0.0
-
getRelationshipType
IRelationshipType getRelationshipType(String id) throws PortalObjectNotFoundException
Gets the type of relationship.- Parameters:
id
- identifies the type of relationship.- Returns:
- a IRelationshipType that contains the identity equals the value passed in id param.
- Throws:
PortalObjectNotFoundException
- if the type of relationship was not found.- Since:
- 7.0.0
-
updateRelationshipType
void updateRelationshipType(IRelationshipType relationshipType) throws PortalObjectNotFoundException
Updates a type of relationship.- Parameters:
relationshipType
- new relationship object with the values updated.- Throws:
PortalObjectNotFoundException
- if the type of relationship was not found.- Since:
- 7.0.0
-
listRelationships
Set<IRelationship> listRelationships(IRelatable source, IRelationshipType relationshipType) throws PortalException
Lists all relationships where the param source is the source and where the param source is the target if the relationship is bidirectional.- Parameters:
source
- IRelatable source.relationshipType
- IRelationship.- Returns:
- a Set
. - Throws:
PortalException
- Since:
- 7.0.0
-
listRelationships
Set<IRelatable> listRelationships(IRelatable firstObject, IRelatable secondObject, IRelationshipType relationshipType) throws PortalException
Lists all relatable nodes that contains a relationship with firstObject and secondObject.- Parameters:
firstObject
- IRelatable source.secondObject
- IRelatable source.relationshipType
- a kind of relationship.- Returns:
- a list that contains relatable nodes.
- Throws:
PortalException
- Since:
- 7.0.0
-
-