Class DynamicAssociation

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

public class DynamicAssociation extends Association implements AssociationIF
INTERNAL: PRIVATE: EXPERIMENTAL: Description: Dynamic proxy for associations
See Also:
  • Method Details

    • 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
      Overrides:
      getRoleTypes in class Association
      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
      Overrides:
      getRolesByType in class Association
      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
      Overrides:
      getRoles in class Association
      Returns:
      A collection of AssociationRoleIF objects.
    • 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
      Overrides:
      getScope in class Association
      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
      Overrides:
      addTheme in class Association
      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
      Overrides:
      removeTheme in class Association
      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
      Overrides:
      getType in class Association
      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
      Overrides:
      setType in class Association
      Parameters:
      type - The type for this object; an object implementing TopicIF.
    • toString

      public String toString()
      Overrides:
      toString in class Association
    • 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
      Overrides:
      getObjectId in class TMObject
      Returns:
      string which is this object's id.
    • isReadOnly

      public boolean isReadOnly()
      Description copied from interface: TMObjectIF
      PUBLIC: Returns true if this object is read-only, otherwise false.
      Specified by:
      isReadOnly in interface TMObjectIF
      Overrides:
      isReadOnly in class TMObject
      Returns:
      read-only (true) or not read-only (false).
    • getTopicMap

      public TopicMapIF getTopicMap()
      Description copied from interface: TMObjectIF
      PUBLIC: Gets the topic map that this object belongs to. If the object has been removed from its topic map or not added to a topic map yet this will be null.
      Specified by:
      getTopicMap in interface TMObjectIF
      Overrides:
      getTopicMap in class TMObject
      Returns:
      A topic map; an object implementing TopicMapIF.
    • getItemIdentifiers

      public Collection<LocatorIF> getItemIdentifiers()
      Description copied from interface: TMObjectIF
      PUBLIC: Gets the item identifiers of this object. These locators are pointers back to the locations from where this object originated.

      The purpose is to enable the engine to detect when references to external objects refer to objects that are already present within the system, such as topic maps which are already loaded.

      Specified by:
      getItemIdentifiers in interface TMObjectIF
      Overrides:
      getItemIdentifiers in class TMObject
      Returns:
      A collection of LocatorIF objects addressing the item.
    • addItemIdentifier

      public void addItemIdentifier(LocatorIF source_locator) throws ConstraintViolationException
      Description copied from interface: TMObjectIF
      PUBLIC: Adds the given item identifier to the set of item item identifiers for this object.
      Specified by:
      addItemIdentifier in interface TMObjectIF
      Overrides:
      addItemIdentifier in class TMObject
      Parameters:
      source_locator - The item identifier to be added; an object implementing LocatorIF.
      Throws:
      ConstraintViolationException - Thrown if another object in the same topic map already has the given item identifier.
    • removeItemIdentifier

      public void removeItemIdentifier(LocatorIF source_locator)
      Description copied from interface: TMObjectIF
      PUBLIC: Removes the given item identifier from the set of item identifiers. If this object does not have the given item identifier the call has no effect.
      Specified by:
      removeItemIdentifier in interface TMObjectIF
      Overrides:
      removeItemIdentifier in class TMObject
      Parameters:
      source_locator - The item identifier to be removed; an object implementing LocatorIF.
    • remove

      public void remove()
      Description copied from interface: TMObjectIF
      PUBLIC: Removes the object from its parent.
      Specified by:
      remove in interface TMObjectIF
      Overrides:
      remove in class Association
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equals

      public boolean equals(DynamicAssociation obj)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • setTarget

      public void setTarget(AssociationIF newTarget)
    • isConnected

      protected boolean isConnected()
      Overrides:
      isConnected in class TMObject