net.ontopia.topicmaps.impl.rdbms
Class Topic

java.lang.Object
  extended by net.ontopia.persistence.proxy.AbstractRWPersistent
      extended by net.ontopia.topicmaps.impl.rdbms.TMObject
          extended by net.ontopia.topicmaps.impl.rdbms.Topic
All Implemented Interfaces:
PersistentIF, TMObjectIF, TopicIF

public class Topic
extends TMObject
implements TopicIF

INTERNAL: The rdbms topic implementation.


Field Summary
static java.lang.String CLASS_INDICATOR
           
protected static java.lang.String[] fields
           
protected static int LF_indicators
           
protected static int LF_names
           
protected static int LF_occurrences
           
protected static int LF_reified
           
protected static int LF_roles
           
protected static int LF_subjects
           
protected static int LF_types
           
 
Fields inherited from class net.ontopia.persistence.proxy.AbstractRWPersistent
id, MASKS, txn, values
 
Constructor Summary
Topic()
           
Topic(TransactionIF txn)
           
 
Method Summary
 int _p_getFieldCount()
           
 void addSubjectIdentifier(LocatorIF subject_indicator)
          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.
 void detach()
           
 java.lang.String getClassIndicator()
          INTERNAL: Returns the token that can be used to indicate the class of this instance.
 java.lang.String getObjectId()
          PUBLIC: Gets the id of this object.
 java.util.Collection<OccurrenceIF> getOccurrences()
          PUBLIC: Gets the occurrences of this topic.
 ReifiableIF getReified()
          PUBLIC: Returns the topic map object that this topic reifies.
 java.util.Collection<AssociationRoleIF> getRoles()
          PUBLIC: Gets the association roles played by this topic.
 java.util.Collection<AssociationRoleIF> getRolesByType(TopicIF roletype)
          PUBLIC: Gets the association roles of the specifed type played by this topic.
 java.util.Collection<AssociationRoleIF> getRolesByType(TopicIF roletype, TopicIF assoc_type)
          PUBLIC: Gets the association roles of the specifed type played by this topic.
 java.util.Collection<LocatorIF> getSubjectIdentifiers()
          PUBLIC: Gets the subject identitifers of this topic.
 java.util.Collection<LocatorIF> getSubjectLocators()
          PUBLIC: Gets the subject locators of this topic.
 java.util.Collection<TopicNameIF> getTopicNames()
          PUBLIC: Gets the names of this topic.
 java.util.Collection<TopicIF> getTypes()
          PUBLIC: Gets the types that this topic is an instance of.
 void merge(TopicIF topic)
          EXPERIMENTAL: Merges the characteristics of one topic into another topic.
 void remove()
          PUBLIC: Removes the object from its parent.
 void removeSubjectIdentifier(LocatorIF subject_indicator)
          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.
 java.lang.String toString()
           
 
Methods inherited from class net.ontopia.topicmaps.impl.rdbms.TMObject
addItemIdentifier, fireEvent, getItemIdentifiers, getTopicMap, isReadOnly, removeItemIdentifier, transactionChanged
 
Methods inherited from class net.ontopia.persistence.proxy.AbstractRWPersistent
_p_getIdentity, _p_getTransaction, _p_getType, _p_setIdentity, _p_setTransaction, _p_toString, clearAll, detachCollectionField, detachField, executeQuery, getValue, isDeleted, isDirty, isDirty, isDirtyFlushed, isDirtyFlushed, isInDatabase, isLoaded, isNewObject, isPersistent, isTransient, loadCollectionField, loadField, loadFieldNoCheck, loadValue, nextDirty, nextDirty, nextDirtyFlushed, nextDirtyFlushed, setDeleted, setDirty, setDirtyFlushed, setInDatabase, setNewObject, setPersistent, setValue, unsetValue, valueAdded, valueChanged, valueRemoved
 
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, getTopicMap, isReadOnly, removeItemIdentifier
 

Field Detail

LF_subjects

protected static final int LF_subjects
See Also:
Constant Field Values

LF_indicators

protected static final int LF_indicators
See Also:
Constant Field Values

LF_types

protected static final int LF_types
See Also:
Constant Field Values

LF_names

protected static final int LF_names
See Also:
Constant Field Values

LF_occurrences

protected static final int LF_occurrences
See Also:
Constant Field Values

LF_roles

protected static final int LF_roles
See Also:
Constant Field Values

LF_reified

protected static final int LF_reified
See Also:
Constant Field Values

fields

protected static final java.lang.String[] fields

CLASS_INDICATOR

public static final java.lang.String CLASS_INDICATOR
See Also:
Constant Field Values
Constructor Detail

Topic

public Topic()

Topic

public Topic(TransactionIF txn)
Method Detail

detach

public void detach()
Specified by:
detach in interface PersistentIF
Specified by:
detach in class AbstractRWPersistent

_p_getFieldCount

public int _p_getFieldCount()
Specified by:
_p_getFieldCount in interface PersistentIF

getClassIndicator

public java.lang.String getClassIndicator()
Description copied from class: TMObject
INTERNAL: Returns the token that can be used to indicate the class of this instance. This indicator is currently only used by source locators.

Specified by:
getClassIndicator in class TMObject

getObjectId

public java.lang.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 interface TMObjectIF
Specified by:
getObjectId in class TMObject
Returns:
string which is this object's id.

getSubjectLocators

public java.util.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 interface TopicIF
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 interface TopicIF
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 interface TopicIF
Parameters:
subject_locator - A locator for the subject locator to be removed; an object implementing LocatorIF.

getSubjectIdentifiers

public java.util.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 interface TopicIF
Returns:
A collection of LocatorIF objects serving as subject identifiers.

addSubjectIdentifier

public void addSubjectIdentifier(LocatorIF subject_indicator)
                          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 interface TopicIF
Parameters:
subject_indicator - 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 subject_indicator)
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 interface TopicIF
Parameters:
subject_indicator - A locator for the subject identifier to be removed; an object implementing LocatorIF.

getTopicNames

public java.util.Collection<TopicNameIF> getTopicNames()
Description copied from interface: TopicIF
PUBLIC: Gets the names of this topic.

Specified by:
getTopicNames in interface TopicIF
Returns:
A collection of TopicNameIF objects.

getOccurrences

public java.util.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 interface TopicIF
Returns:
A collection of OccurrenceIF objects.

getRoles

public java.util.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.

Specified by:
getRoles in interface TopicIF
Returns:
A collection of AssociationRoleIF objects.

getRolesByType

public java.util.Collection<AssociationRoleIF> getRolesByType(TopicIF roletype)
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 interface TopicIF
Returns:
A collection of AssociationRoleIF objects.

getRolesByType

public java.util.Collection<AssociationRoleIF> getRolesByType(TopicIF roletype,
                                                              TopicIF assoc_type)
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 interface TopicIF
Returns:
A collection of AssociationRoleIF 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.

Specified by:
merge in interface TopicIF
Parameters:
topic - topicIF; the source topic. This is empty after the operation and is removed from the topic map.

remove

public void remove()
Description copied from interface: TMObjectIF
PUBLIC: Removes the object from its parent.

Specified by:
remove in interface TMObjectIF

getTypes

public java.util.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.

Specified by:
getTypes in interface TopicIF
Returns:
A collection of TopicIF objects.

addType

public void addType(TopicIF type)
Description copied from interface: TopicIF
PUBLIC: Adds a type to this topic.

Specified by:
addType in interface TopicIF
Parameters:
type - The additional type; an object implementing TopicIF.

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 interface TopicIF
Parameters:
type - The type to be removed; an object implementing TopicIF.

getReified

public ReifiableIF getReified()
Description copied from interface: TopicIF
PUBLIC: Returns the topic map object that this topic reifies.

Specified by:
getReified in interface TopicIF

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2000-2012 Ontopia.