Package net.ontopia.topicmaps.impl.utils
Class SnapshotTopic
- java.lang.Object
-
- net.ontopia.topicmaps.impl.utils.SnapshotTMObject
-
- net.ontopia.topicmaps.impl.utils.SnapshotTopic
-
- All Implemented Interfaces:
TMObjectIF
,TopicIF
public class SnapshotTopic extends SnapshotTMObject implements TopicIF
INTERNAL:
-
-
Field Summary
Fields Modifier and Type Field Description protected Collection<TopicNameIF>
basenames
protected Collection<OccurrenceIF>
occurrences
protected ReifiableIF
reified
protected Collection<LocatorIF>
subinds
protected Collection<LocatorIF>
sublocs
protected Collection<TopicIF>
types
-
Fields inherited from class net.ontopia.topicmaps.impl.utils.SnapshotTMObject
objectId, SNAPSHOT_COMPLETE, SNAPSHOT_REFERENCE, snapshotType, srclocs
-
Fields inherited from interface net.ontopia.topicmaps.core.TMObjectIF
EVENT_ADD_ITEMIDENTIFIER, EVENT_REMOVE_ITEMIDENTIFIER, MSG_NULL_ARGUMENT
-
Fields inherited from interface net.ontopia.topicmaps.core.TopicIF
EVENT_ADD_OCCURRENCE, EVENT_ADD_SUBJECTIDENTIFIER, EVENT_ADD_SUBJECTLOCATOR, EVENT_ADD_TOPICNAME, EVENT_ADD_TYPE, EVENT_ADDED, EVENT_MODIFIED, EVENT_REMOVE_OCCURRENCE, EVENT_REMOVE_SUBJECTIDENTIFIER, EVENT_REMOVE_SUBJECTLOCATOR, EVENT_REMOVE_TOPICNAME, EVENT_REMOVE_TYPE, EVENT_REMOVED
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSubjectIdentifier(LocatorIF locator)
PUBLIC: Adds the given subject identifier to the set of subject identifiers for this topic.void
addSubjectLocator(LocatorIF subject_locator)
PUBLIC: Adds the given subject locator to the set of subject locators for this topic.void
addType(TopicIF type)
PUBLIC: Adds a type to this topic.Collection<AssociationIF>
getAssociations()
PUBLIC: Gets the associations that have roles played by this topic.Collection<AssociationIF>
getAssociationsByType(TopicIF type)
PUBLIC: Gets the associations that have roles played by this topic, where the association is of specified type.Collection<OccurrenceIF>
getOccurrences()
PUBLIC: Gets the occurrences of this topic.Collection<OccurrenceIF>
getOccurrencesByType(TopicIF type)
PUBLIC: Gets the occurrences of this topic with a specified type.ReifiableIF
getReified()
PUBLIC: Returns the topic map object that this topic reifies.Collection<AssociationRoleIF>
getRoles()
PUBLIC: Gets the association roles played by this topic.Collection<AssociationRoleIF>
getRolesByType(TopicIF rtype)
PUBLIC: Gets the association roles of the specifed type played by this topic.Collection<AssociationRoleIF>
getRolesByType(TopicIF rtype, TopicIF atype)
PUBLIC: Gets the association roles of the specifed type played by this topic.Collection<LocatorIF>
getSubjectIdentifiers()
PUBLIC: Gets the subject identitifers of this topic.Collection<LocatorIF>
getSubjectLocators()
PUBLIC: Gets the subject locators of this topic.Collection<TopicNameIF>
getTopicNames()
PUBLIC: Gets the names of this topic.Collection<TopicNameIF>
getTopicNamesByType(TopicIF type)
PUBLIC: Gets the topic names of this topic with a specified type.Collection<TopicIF>
getTypes()
PUBLIC: Gets the types that this topic is an instance of.static TopicIF
makeSnapshot(TopicIF original, int snapshotType, Map<TMObjectIF,SnapshotTMObject> processed)
void
merge(TopicIF topic)
EXPERIMENTAL: Merges the characteristics of one topic into another topic.void
removeSubjectIdentifier(LocatorIF loc)
PUBLIC: Removes the given subject identifier from the set of subject identifiers for this topic.void
removeSubjectLocator(LocatorIF subject_locator)
PUBLIC: Removes the given subject locator from the set of subject locators for this topic.void
removeType(TopicIF type)
PUBLIC: Removes a type from this topic.String
toString()
-
Methods inherited from class net.ontopia.topicmaps.impl.utils.SnapshotTMObject
addItemIdentifier, getItemIdentifiers, getObjectId, getTopicMap, isReadOnly, remove, removeItemIdentifier
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.ontopia.topicmaps.core.TMObjectIF
addItemIdentifier, getItemIdentifiers, getObjectId, getTopicMap, isReadOnly, remove, removeItemIdentifier
-
-
-
-
Field Detail
-
reified
protected ReifiableIF reified
-
sublocs
protected Collection<LocatorIF> sublocs
-
subinds
protected Collection<LocatorIF> subinds
-
basenames
protected Collection<TopicNameIF> basenames
-
occurrences
protected Collection<OccurrenceIF> occurrences
-
types
protected Collection<TopicIF> types
-
-
Method Detail
-
makeSnapshot
public static TopicIF makeSnapshot(TopicIF original, int snapshotType, Map<TMObjectIF,SnapshotTMObject> processed)
-
getSubjectLocators
public Collection<LocatorIF> getSubjectLocators()
Description copied from interface:TopicIF
PUBLIC: Gets the subject locators of this topic. These are locators for resources that directly address the subject of this topic. Such a resource is also called an addressable subject. The subject locators are not guaranteed to have any specific order within the returned collection.- Specified by:
getSubjectLocators
in interfaceTopicIF
- Returns:
- A collection of LocatorIF objects serving as subject locators.
-
addSubjectLocator
public void addSubjectLocator(LocatorIF subject_locator) throws ConstraintViolationException
Description copied from interface:TopicIF
PUBLIC: Adds the given subject locator to the set of subject locators for this topic.- Specified by:
addSubjectLocator
in interfaceTopicIF
- Parameters:
subject_locator
- A locator for the subject locator to be added; an object implementing LocatorIF.- Throws:
ConstraintViolationException
- Thrown if the topic map already has a topic with this subject locator.
-
removeSubjectLocator
public void removeSubjectLocator(LocatorIF subject_locator)
Description copied from interface:TopicIF
PUBLIC: Removes the given subject locator from the set of subject locators for this topic. If the topic does not have the given subject locator then this method has no effect.- Specified by:
removeSubjectLocator
in interfaceTopicIF
- Parameters:
subject_locator
- A locator for the subject locator to be removed; an object implementing LocatorIF.
-
getSubjectIdentifiers
public Collection<LocatorIF> getSubjectIdentifiers()
Description copied from interface:TopicIF
PUBLIC: Gets the subject identitifers of this topic. These are locators for resources that indirectly address or otherwise indicate the subject of this topic. A subject identifier is intended as a surrogate for a subject which cannot be addressed directly. The subject identifiers are not guaranteed to have any specific order within the returned collection.- Specified by:
getSubjectIdentifiers
in interfaceTopicIF
- Returns:
- A collection of LocatorIF objects serving as subject identifiers.
-
addSubjectIdentifier
public void addSubjectIdentifier(LocatorIF locator) throws ConstraintViolationException
Description copied from interface:TopicIF
PUBLIC: Adds the given subject identifier to the set of subject identifiers for this topic.- Specified by:
addSubjectIdentifier
in interfaceTopicIF
- Parameters:
locator
- A locator for the subject identifier to be added; an object implementing LocatorIF.- Throws:
ConstraintViolationException
- Thrown if the topic map already has a topic with this addressable subject.
-
removeSubjectIdentifier
public void removeSubjectIdentifier(LocatorIF loc)
Description copied from interface:TopicIF
PUBLIC: Removes the given subject identifier from the set of subject identifiers for this topic. If the topic does not have the given subject identifier then this method has no effect.- Specified by:
removeSubjectIdentifier
in interfaceTopicIF
- Parameters:
loc
- A locator for the subject identifier to be removed; an object implementing LocatorIF.
-
getTypes
public Collection<TopicIF> getTypes()
Description copied from interface:TopicIF
PUBLIC: Gets the types that this topic is an instance of. There is no guarantee as to which order these will be returned in.
-
addType
public void addType(TopicIF type)
Description copied from interface:TopicIF
PUBLIC: Adds a type to this topic.
-
removeType
public void removeType(TopicIF type)
Description copied from interface:TopicIF
PUBLIC: Removes a type from this topic. If the given topic is not present amongst the types, then the method has no effect.- Specified by:
removeType
in interfaceTopicIF
- Parameters:
type
- The type to be removed; an object implementing TopicIF.
-
getTopicNames
public Collection<TopicNameIF> getTopicNames()
Description copied from interface:TopicIF
PUBLIC: Gets the names of this topic.- Specified by:
getTopicNames
in interfaceTopicIF
- Returns:
- A collection of TopicNameIF objects.
-
getTopicNamesByType
public Collection<TopicNameIF> getTopicNamesByType(TopicIF type)
Description copied from interface:TopicIF
PUBLIC: Gets the topic names of this topic with a specified type.- Specified by:
getTopicNamesByType
in interfaceTopicIF
- Returns:
- A collection of TopicNameIF objects typed by specified type.
-
getOccurrences
public Collection<OccurrenceIF> getOccurrences()
Description copied from interface:TopicIF
PUBLIC: Gets the occurrences of this topic. The occurrences are not guaranteed to have any specific order.- Specified by:
getOccurrences
in interfaceTopicIF
- Returns:
- A collection of OccurrenceIF objects.
-
getOccurrencesByType
public Collection<OccurrenceIF> getOccurrencesByType(TopicIF type)
Description copied from interface:TopicIF
PUBLIC: Gets the occurrences of this topic with a specified type. The occurrences are not guaranteed to have any specific order.- Specified by:
getOccurrencesByType
in interfaceTopicIF
- Returns:
- A collection of OccurrenceIF objects typed by specified type.
-
getRoles
public Collection<AssociationRoleIF> getRoles()
Description copied from interface:TopicIF
PUBLIC: Gets the association roles played by this topic. There is no guarantee as to the order these are returned in.
-
getRolesByType
public Collection<AssociationRoleIF> getRolesByType(TopicIF rtype)
Description copied from interface:TopicIF
PUBLIC: Gets the association roles of the specifed type played by this topic. There is no guarantee as to the order these are returned in.- Specified by:
getRolesByType
in interfaceTopicIF
- Returns:
- A collection of AssociationRoleIF objects.
-
getRolesByType
public Collection<AssociationRoleIF> getRolesByType(TopicIF rtype, TopicIF atype)
Description copied from interface:TopicIF
PUBLIC: Gets the association roles of the specifed type played by this topic. The association roles must be part of an association of the specified type. There is no guarantee as to the order these are returned in.- Specified by:
getRolesByType
in interfaceTopicIF
- Returns:
- A collection of AssociationRoleIF objects.
-
getAssociations
public Collection<AssociationIF> getAssociations()
Description copied from interface:TopicIF
PUBLIC: Gets the associations that have roles played by this topic. There is no guarantee as to the order these are returned in.- Specified by:
getAssociations
in interfaceTopicIF
- Returns:
- A collection of AssociationIF objects.
-
getAssociationsByType
public Collection<AssociationIF> getAssociationsByType(TopicIF type)
Description copied from interface:TopicIF
PUBLIC: Gets the associations that have roles played by this topic, where the association is of specified type. There is no guarantee as to the order these are returned in.- Specified by:
getAssociationsByType
in interfaceTopicIF
- Returns:
- A collection of AssociationIF objects.
-
merge
public void merge(TopicIF topic)
Description copied from interface:TopicIF
EXPERIMENTAL: Merges the characteristics of one topic into another topic. The source topic stripped of characteristics, all of which are moved to the target topic. Duplicate characteristics are suppressed. The topics must be in the same topic map, and the source topic is removed from the topic map.
-
getReified
public ReifiableIF getReified()
Description copied from interface:TopicIF
PUBLIC: Returns the topic map object that this topic reifies.- Specified by:
getReified
in interfaceTopicIF
-
-