gumbo.util.relation
Interface Associate

All Superinterfaces:
Delegatable, Disposable, Relation
All Known Implementing Classes:
AbstractAssociate

Deprecated. Currently broken.

public interface Associate
extends Relation

An "associate" relation in an "association" data relationship, which collectively can form a cyclic undirected graph. An associate can have none or more mutual associates. Associations are useful for establishing a peer network of relations, such as for implementing "aspects" of a program.

For example: In a data visualization application a graph vertex can maintain associations with text list elements, which the vertex uses as labels. In an interactive application associations can allow different views of the same data element to appear with the same interaction state.

TODO: Refactor to use mixed delegation and new events.

Version:
$Revision: 1.2 $
Author:
Jon Barrilleaux (jonb@jmbaai.com) of JMB and Associates Inc.

Method Summary
 void addAssociate(Associate assoc)
          Deprecated. Creates an association between this associate and another, and fires a change event.
 java.util.Set getAssociates()
          Deprecated. Returns an immutable view of the immediate associates (Associate) of this associate.
 void removeAssociate(Associate assoc)
          Deprecated. Destroys an association between this associate and another, and fires a change event.
 
Methods inherited from interface gumbo.util.relation.Relation
canFindRelation, findRelation, getAddedConnectionOut, getRelationship, getRemovingConnectionOut, implReadConnections, implWriteConnections, setRelationship
 
Methods inherited from interface gumbo.util.Disposable
dispose, isDisposed
 
Methods inherited from interface gumbo.util.Delegatable
getDelegator, initDelegator, isDelegatorInited
 

Method Detail

addAssociate

public void addAssociate(Associate assoc)
Deprecated. 
Creates an association between this associate and another, and fires a change event. The addition is mutual (this and the other associate will be associates of one another). Associate order is arbitrary. Note that implementation requires mutual use of this method.

Parameters:
assoc - Associate to be added. Silently ignores null, self, and duplicate associates.

removeAssociate

public void removeAssociate(Associate assoc)
Deprecated. 
Destroys an association between this associate and another, and fires a change event. The removal is mutual (this and the other associate will no longer be associates of one another). Note that implementation requires mutual use of this method.

Parameters:
assoc - Associate to be removed. Silently ignores null and missing associates.

getAssociates

public java.util.Set getAssociates()
Deprecated. 
Returns an immutable view of the immediate associates (Associate) of this associate. Order is undefined.

Returns:
The view. Never null.