Package net.ontopia.topicmaps.impl.utils
Class PhantomAssociation
- java.lang.Object
-
- net.ontopia.topicmaps.impl.utils.PhantomAssociation
-
- All Implemented Interfaces:
AssociationIF
,ReifiableIF
,ScopedIF
,TMObjectIF
,TypedIF
public class PhantomAssociation extends Object implements AssociationIF
INTERNAL: Class that represents the association object which a deleted role might have belonged to. Note that this class exists just to make the API behave gracefully in the cases where association roles are deleted, so that applications do not fail that easily.
-
-
Field Summary
-
Fields inherited from interface net.ontopia.topicmaps.core.AssociationIF
EVENT_ADD_ROLE, EVENT_ADD_THEME, EVENT_ADDED, EVENT_REMOVE_ROLE, EVENT_REMOVE_THEME, EVENT_REMOVED, EVENT_SET_TYPE
-
Fields inherited from interface net.ontopia.topicmaps.core.ReifiableIF
EVENT_SET_REIFIER
-
Fields inherited from interface net.ontopia.topicmaps.core.TMObjectIF
EVENT_ADD_ITEMIDENTIFIER, EVENT_REMOVE_ITEMIDENTIFIER, MSG_NULL_ARGUMENT
-
-
Constructor Summary
Constructors Constructor Description PhantomAssociation()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addItemIdentifier(LocatorIF srcloc)
PUBLIC: Adds the given item identifier to the set of item item identifiers for this object.void
addTheme(TopicIF theme)
PUBLIC: Add a topic to this scope.Collection<LocatorIF>
getItemIdentifiers()
PUBLIC: Gets the item identifiers of this object.String
getObjectId()
PUBLIC: Gets the id of this object.TopicIF
getReifier()
PUBLIC: Returns the topic that reifies this object.Collection<AssociationRoleIF>
getRoles()
PUBLIC: Gets all the association roles of the association.Collection<AssociationRoleIF>
getRolesByType(TopicIF roletype)
PUBLIC: Gets the association roles in this association which are of the given role type.Collection<TopicIF>
getRoleTypes()
PUBLIC: Gets a Collection of association role types found in this association.Collection<TopicIF>
getScope()
PUBLIC: Returns the set of topics that are the stated scope of this object.TopicMapIF
getTopicMap()
PUBLIC: Gets the topic map that this object belongs to.TopicIF
getType()
PUBLIC: Gets the type that this object is an instance of.boolean
isReadOnly()
PUBLIC: Returns true if this object is read-only, otherwise false.void
remove()
PUBLIC: Removes the object from its parent.void
removeItemIdentifier(LocatorIF srcloc)
PUBLIC: Removes the given item identifier from the set of item identifiers.void
removeTheme(TopicIF theme)
PUBLIC: Remove a topic from this scope.void
setReifier(TopicIF reifier)
PUBLIC: Sets the reifier of this object.void
setType(TopicIF type)
PUBLIC: Sets the type that this object is an instance of.
-
-
-
Method Detail
-
getRoleTypes
public Collection<TopicIF> getRoleTypes()
Description copied from interface:AssociationIF
PUBLIC: Gets a Collection of association role types found in this association. The returned collection does not contain any duplicates. Even if some roles have no type, null will not be returned as one of the role types in the returned set.- Specified by:
getRoleTypes
in interfaceAssociationIF
- Returns:
- A Collection of TopicIF objects.
-
getRolesByType
public Collection<AssociationRoleIF> getRolesByType(TopicIF roletype)
Description copied from interface:AssociationIF
PUBLIC: Gets the association roles in this association which are of the given role type.- Specified by:
getRolesByType
in interfaceAssociationIF
- Parameters:
roletype
- The type of the roles returned; an object implementing TopicIF. If null the method will return the roles that have no type.- Returns:
- A Collection of AssociationRoleIF objects.
-
getRoles
public Collection<AssociationRoleIF> getRoles()
Description copied from interface:AssociationIF
PUBLIC: Gets all the association roles of the association. The returned roles may appear in any order.- Specified by:
getRoles
in interfaceAssociationIF
- Returns:
- A collection of AssociationRoleIF objects.
-
getScope
public Collection<TopicIF> getScope()
Description copied from interface:ScopedIF
PUBLIC: Returns the set of topics that are the stated scope of this object. Scoping topics inherited from parent objects are not included. There is no guarantee as to which order these topics are returned in.
-
addTheme
public void addTheme(TopicIF theme)
Description copied from interface:ScopedIF
PUBLIC: Add a topic to this scope. (A topic used in a scope is also called a theme.) If the topic is already part of the scope the method call has no effect.
-
removeTheme
public void removeTheme(TopicIF theme)
Description copied from interface:ScopedIF
PUBLIC: Remove a topic from this scope. If the topic is not already in the scope this method has no effect. (A topic used in a scope is also called a theme.)- Specified by:
removeTheme
in interfaceScopedIF
- Parameters:
theme
- A topic to be removed from this scope; an object implementing TopicIF.
-
getType
public TopicIF getType()
Description copied from interface:TypedIF
PUBLIC: Gets the type that this object is an instance of.
-
setType
public void setType(TopicIF type)
Description copied from interface:TypedIF
PUBLIC: Sets the type that this object is an instance of.
-
getObjectId
public String getObjectId()
Description copied from interface:TMObjectIF
PUBLIC: Gets the id of this object. The object id is part of the topic map id space, and must be unique. The object id is not significant (or unique) outside the current topic map. The object id is immutable. The object id is thus stable through this object's lifetime.- Specified by:
getObjectId
in interfaceTMObjectIF
- Returns:
- string which is this object's id.
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:TMObjectIF
PUBLIC: Returns true if this object is read-only, otherwise false.- Specified by:
isReadOnly
in interfaceTMObjectIF
- Returns:
- read-only (true) or not read-only (false).
-
getTopicMap
public TopicMapIF getTopicMap()
Description copied from interface:TMObjectIF
PUBLIC: Gets the topic map that this object belongs to. If the object has been removed from its topic map or not added to a topic map yet this will be null.- Specified by:
getTopicMap
in interfaceTMObjectIF
- Returns:
- A topic map; an object implementing TopicMapIF.
-
getItemIdentifiers
public Collection<LocatorIF> getItemIdentifiers()
Description copied from interface:TMObjectIF
PUBLIC: Gets the item identifiers of this object. These locators are pointers back to the locations from where this object originated.The purpose is to enable the engine to detect when references to external objects refer to objects that are already present within the system, such as topic maps which are already loaded.
- Specified by:
getItemIdentifiers
in interfaceTMObjectIF
- Returns:
- A collection of LocatorIF objects addressing the item.
-
addItemIdentifier
public void addItemIdentifier(LocatorIF srcloc)
Description copied from interface:TMObjectIF
PUBLIC: Adds the given item identifier to the set of item item identifiers for this object.- Specified by:
addItemIdentifier
in interfaceTMObjectIF
- Parameters:
srcloc
- The item identifier to be added; an object implementing LocatorIF.
-
removeItemIdentifier
public void removeItemIdentifier(LocatorIF srcloc)
Description copied from interface:TMObjectIF
PUBLIC: Removes the given item identifier from the set of item identifiers. If this object does not have the given item identifier the call has no effect.- Specified by:
removeItemIdentifier
in interfaceTMObjectIF
- Parameters:
srcloc
- The item identifier to be removed; an object implementing LocatorIF.
-
remove
public void remove()
Description copied from interface:TMObjectIF
PUBLIC: Removes the object from its parent.- Specified by:
remove
in interfaceTMObjectIF
-
getReifier
public TopicIF getReifier()
Description copied from interface:ReifiableIF
PUBLIC: Returns the topic that reifies this object.- Specified by:
getReifier
in interfaceReifiableIF
-
setReifier
public void setReifier(TopicIF reifier)
Description copied from interface:ReifiableIF
PUBLIC: Sets the reifier of this object.- Specified by:
setReifier
in interfaceReifiableIF
-
-