Class Association

All Implemented Interfaces:
PersistentIF, AssociationIF, ReifiableIF, ScopedIF, TMObjectIF, TypedIF

public class Association extends TMObject implements AssociationIF
INTERNAL: The rdbms association implementation.
  • Field Details

  • Constructor Details

    • Association

      public Association()
    • Association

      public Association(TransactionIF txn)
  • 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]
    • 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 interface AssociationIF
      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 interface AssociationIF
      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 interface AssociationIF
      Returns:
      A collection of AssociationRoleIF objects.
    • addRole

      protected void addRole(AssociationRoleIF assoc_role)
    • removeRole

      protected void removeRole(AssociationRoleIF assoc_role)
    • remove

      public void remove()
      Description copied from interface: TMObjectIF
      PUBLIC: Removes the object from its parent.
      Specified by:
      remove in interface TMObjectIF
    • 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.
      Specified by:
      getScope in interface ScopedIF
      Returns:
      A collection of TopicIF objects.
    • 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.
      Specified by:
      addTheme in interface ScopedIF
      Parameters:
      theme - A topic to be added to this scope; an object implementing TopicIF.
    • 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 interface ScopedIF
      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.
      Specified by:
      getType in interface TypedIF
      Returns:
      The type of this object; an object implementing TopicIF.
    • setType

      public void setType(TopicIF type)
      Description copied from interface: TypedIF
      PUBLIC: Sets the type that this object is an instance of.
      Specified by:
      setType in interface TypedIF
      Parameters:
      type - The type for this object; an object implementing TopicIF.
    • getReifier

      public TopicIF getReifier()
      Description copied from interface: ReifiableIF
      PUBLIC: Returns the topic that reifies this object.
      Specified by:
      getReifier in interface ReifiableIF
    • setReifier

      public void setReifier(TopicIF _reifier)
      Description copied from interface: ReifiableIF
      PUBLIC: Sets the reifier of this object.
      Specified by:
      setReifier in interface ReifiableIF
    • toString

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

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