org.tm4j.topicmap .Topic

Description

This interface describes a topic in a Topic Map. The Topic is perhaps the single most important construct among all those that may occur in a Topic Map. From XTM 1.0:

“A topic is a resource that acts as a proxy for some subject; it is the topic map system's representation of that subject. The relationship between a topic and its subject is defined to be one of reification. Reification of a subject allows topic characteristics to be assigned to the topic that reifies it.”
[...]
“A subject is anything that can be spoken about or conceived of by a human being. In the most generic sense, a subject is anything whatsoever, regardless of whether it exists or has any other specific characteristics, about which anything whatsoever may be asserted by any means whatsoever. In particular, it is anything on which the author of a topic map chooses to discourse.”
The characteristics that topics are usually assigned include BaseNames and Occurrences, both of which may be constrained by a scope, which is defined by a set of Topics. Topics may be typed, and effectively support mechanisms equivalent to multiple inheritance by allowing more than one typing topic. Topics may also be subject to merging under certain circumstances, that is, two or more topics which share particular traits effectively become one whose characteristics are the sum of the original topics'. This interface provides a number of methods which deal with results of merging, and which provide access to the topics that, at some point during processing, merged with the current topic.

Interfaces

Implementations of this interface

Method Summary
void addName(org.tm4j.topicmap.BaseName name)
Adds another name to the set of names of this Topic.
void addOccurrence(org.tm4j.topicmap.Occurrence occurs)
Adds an occurrence to this Topic.
void addSubjectIndicator(org.tm4j.net.Locator subjectIndicator)
Adds a subject indicator to this topic.
void addType(org.tm4j.topicmap.Topic type)
Adds a new topic into the set of those defining the type of this topic.
BaseName createName(java.lang.String id)
Creates a new BaseName as a child of this Topic.
BaseName createName(java.lang.String id,java.lang.String nameString)
Creates a new BaseName as a child of this Topic
BaseName createName(java.lang.String id,java.lang.String nameString,org.tm4j.topicmap.Topic[] scope)
Creates a new BaseName as a child of this Topic
Occurrence createOccurrence(java.lang.String id)
Creates a new Occurrence as a child of this Topic.
Occurrence createOccurrence(java.lang.String id,org.tm4j.net.Locator resourceLocator,org.tm4j.topicmap.Topic type,java.lang.String data,org.tm4j.topicmap.Topic[] themes)
Occurrence createOccurrence(java.lang.String id,org.tm4j.net.Locator resourceLocator,org.tm4j.topicmap.Topic type,org.tm4j.net.Locator ref,org.tm4j.topicmap.Topic[] themes)
Topic getBaseTopic()
Gets the topic with which this topic is merged if any.
java.util.Collection getMergedTopics()
Returns a collection of all of the other topics which were merged with this topic due to identity matches or topic map naming constraints.
java.util.Collection getNames()
Retrieves a collection of the base names of this topic and any merged topics.
java.util.Collection getNames(boolean includeMergedTopics)
Retrieves the collection of the base names of this topic and, if so specified, of any merged topics.
java.util.Collection getOccurrences()
Returns the occurrences for this topic and any merged topics.
java.util.Collection getOccurrences(boolean includeMergedTopics)
Returns the occurrences for this topic and, if so specified, of any merged topics.
TopicMap getParent()
Returns the TopicMap object which contains this Topic object.
java.util.Collection getRolesPlayed()
Gets the Member objects which define roles played by this topic in associations.
java.util.Collection getRolesPlayed(boolean includeMergedTopics)
Gets the Member objects which define roles played by this topic in associations.
java.util.Collection getScopedNames()
Generates a list of all names of the topic and all merged topics, qualified by the scope of the names and of the topic itself.
java.util.Collection getScopedNames(boolean includeMergedTopics)
Generates a list of all names of the topic, qualified by the scope of the names and of the topic itself.
org.tm4j.net.Locator getSubject()
Retrieves the reference to the resource which is the subject of this topic.
org.tm4j.net.Locator getSubject(boolean includeMergedTopics)
Retrieves the reference to the resource which is the subject of this topic.
java.util.Collection getSubjectIndicators()
Returns the subject indicators for this topic and all merged topics.
java.util.Collection getSubjectIndicators(boolean includeMergedTopics)
Returns the subject indicators for this topic and, optionally, for all merged topics.
java.util.Collection getTypes()
Returns the Topics defining the type of this topic and all merged topics.
java.util.Collection getTypes(boolean includeMergedTopics)
Returns the Topics defining the type of this topic and, optionally, of all merged topics.
void isOfType(org.tm4j.net.Locator subjectOrIndicator)
Determines whether this topic is typed by a topic whose subject is or whose subject is indicated by subjectOrIndicator.
void isOfType(org.tm4j.topicmap.Topic type)
Determines whether the specified topic is one of the types of this topic.
void setNames(org.tm4j.topicmap.BaseName[] names)
Sets the names of this Topic.
void setOccurrences(org.tm4j.topicmap.Occurrence[] occurs)
Sets the list of occurrences for this Topic.
void setSubject(org.tm4j.net.Locator subject)
Sets the reference to the subject of this topic.
void setSubjectIndicators(org.tm4j.net.Locator[] indicators)
Sets the collection of subject indicators for this topic.
void setTypes(org.tm4j.topicmap.Topic[] types)
Defines the type of this topic.

Related Topics

Is Contained By
Is Imported By
Is Type For