Class Topic

All Implemented Interfaces:
PersistentIF, TMObjectIF, TopicIF

public class Topic extends TMObject implements TopicIF
INTERNAL: The rdbms topic implementation.
  • Field Details

  • Constructor Details

  • Method Details

    • 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 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 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.
    • setTopicMap

      protected void setTopicMap(TopicMap topicmap)
      INTERNAL: Sets the topic map that the object belongs to. [parent]
    • 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 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 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 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.
    • 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 interface TopicIF
      Returns:
      A collection of TopicNameIF objects typed by specified type.
    • addTopicName

      protected void addTopicName(TopicNameIF name)
    • removeTopicName

      protected void removeTopicName(TopicNameIF name)
    • 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 interface TopicIF
      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 interface TopicIF
      Returns:
      A collection of OccurrenceIF objects typed by specified type.
    • addOccurrence

      protected void addOccurrence(OccurrenceIF occurrence)
    • removeOccurrence

      protected void removeOccurrence(OccurrenceIF occurrence)
    • 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.
      Specified by:
      getRoles in interface TopicIF
      Returns:
      A collection of AssociationRoleIF objects.
    • getRolesByType

      public 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 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.
    • 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 interface TopicIF
      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 interface TopicIF
      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.
      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.
    • addRole

      protected void addRole(AssociationRoleIF assoc_role)
      INTERNAL: Adds the association role to the set of association roles in which the topic participates.
    • removeRole

      protected void removeRole(AssociationRoleIF assoc_role)
      INTERNAL: Removes the association role from the set of association roles in which the topic participates.
    • remove

      public void remove()
      Description copied from interface: TMObjectIF
      PUBLIC: Removes the object from its parent.
      Specified by:
      remove in interface TMObjectIF
    • 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.
      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
    • setReified

      protected void setReified(ReifiableIF reified)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • syncAfterMerge

      public void syncAfterMerge(IdentityIF source, IdentityIF target)
      Specified by:
      syncAfterMerge in class AbstractRWPersistent