# Methods

`-addIncomingReferenceFromNodeId:withEdgeId:`
  add a reference to the specified node
`-addOutgoingReferenceToNodeId((id ), (id ), (id ), (id ), (id ), (id ), (NSCoder *), (id ), (FTNodeImpl *), (id ), (FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))`
  add a reference to the specified node
`-addOutgoingReferenceToNodeId((id ), (id ), (id ), (id ), (NSCoder *), (id ), (FTNodeImpl *), (id ), (FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))`
  add a reference to the specified node
`-addOutgoingReferenceToNodeId:withEdgeId:`
  add a reference to the specified node
`-countIncomingReferences`
`-countOutgoingReferences`
`-createAndAppendEdgeWithId`
  creates an edge which refers to the given node
`-createAndAppendEdgeWithId:withTargetNode:`
  creates an edge which refers to the given node
`-description`
`-encodeWithCoder:`
  Is being called in order to serialize this instance
`-incomingEdges`
  Get all edges pointing to self
`-incomingNodes`
  access to all nodes refering the receiver of this message
`-init`
`-initWithCode`
  initializer called by deserialization process
`-initWithCoder:`
  initializer called by deserialization process
`-initWithNodeId`
  initializes this instance
`-initWithNodeId:forGraph:`
  initializes this instance
`-internalStateChanged`
  Informs graph instance to update the persistent data representing this node
`-nodeId`
`-outgoingEdges`
  Get all outgoing edges
`-outgoingNodes`
  access to all nodes referred by the receiver of this message
`-referencesToNodeIterator:`
  returns an iterator over all targets nodes of the references which are contained in the given reference set
`-removeAllOutgoingNodesWithId:`
  removes all outgoing nodes with the specified id
`-removeFromReferenceSet`
  removes the specified reference from the set
`-removeFromReferenceSet:node:withEdgeId:`
  removes the specified reference from the set
`-removeIncomingReferencePointingFrom`
  removes the specified reference from the set of incoming references
`-removeIncomingReferencePointingFrom:withEdgeId:((FTNodeImpl *), (id ), (FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))`
  removes the specified reference from the set of incoming references
`-removeIncomingReferencePointingFrom:withEdgeId:((FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))`
  removes the specified reference from the set of outgoing references
`-removeOutgoingNodeWithId`
  removes all outgoing nodes with the specified id
`-removeOutgoingReferencePointingTo`
  removes the specified reference from the set of outgoing references
`-serviceWithId:`
  retrieve the specified service
`-writeLock:`
  Set / unset write lock

### addIncomingReferenceFromNodeId:withEdgeId:

add a reference to the specified node

See Also:

> addOutgoingReferenceToNodeId

>     - addIncomingReferenceFromNodeId: (id <FTId>) aSourceNodeId withEdgeId: (id <FTId>) anEdgeId;

##### Parameter Descriptions

> `aSourceNodeId`
>   id of source node
> `anEdgeId`
>   id of underlying edge

### addOutgoingReferenceToNodeId((id ), (id ), (id ), (id ), (id ), (id ), (NSCoder *), (id ), (FTNodeImpl *), (id ), (FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))

add a reference to the specified node

See Also:

> addIncomingReferenceFromNodeId:withEdgeId:

>     - addIncomingReferenceFromNodeId: (id <FTId>) aSourceNodeId withEdgeId: (id <FTId>) anEdgeId;

##### Parameter Descriptions

> `aSourceNodeId`
>   id of source node
> `anEdgeId`
>   id of underlying edge

method result
  self

### addOutgoingReferenceToNodeId((id ), (id ), (id ), (id ), (NSCoder *), (id ), (FTNodeImpl *), (id ), (FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))

add a reference to the specified node

See Also:

> addOutgoingReferenceToNodeId:withEdgeId:

>     - addOutgoingReferenceToNodeId: (id <FTId>) aTargetNodeId withEdgeId: (id <FTId>) anEdgeId;

##### Parameter Descriptions

> `aTargetNodeId`
>   id of target node
> `anEdgeId`
>   id of underlying edge

method result
  self

### addOutgoingReferenceToNodeId:withEdgeId:

add a reference to the specified node

See Also:

> addOutgoingReferenceToNodeId

>     - addOutgoingReferenceToNodeId: (id <FTId>) aTargetNodeId withEdgeId: (id <FTId>) anEdgeId;

##### Parameter Descriptions

> `aTargetNodeId`
>   id of target node
> `anEdgeId`
>   id of underlying edge

### countIncomingReferences

>     - (unsigned) countIncomingReferences;

method result
  returns the number of incoming edges

### countOutgoingReferences

>     - (unsigned) countOutgoingReferences;

method result
  returns the number of outgoing edges

### createAndAppendEdgeWithId

creates an edge which refers to the given node

See Also:

> createAndAppendEdgeWithId:withTargetNode:

>     - (id <FTEdge>) createAndAppendEdgeWithId: (id <FTId>) edgeId withTargetNode: (id <FTNode>) targetNode;

##### Parameter Descriptions

> `edgeId`
>   id of the edge
> `targetNode`
>   node to which the edge refers

method result
  created edge instance

### createAndAppendEdgeWithId:withTargetNode:

creates an edge which refers to the given node

See Also:

> createAndAppendEdgeWithId

>     - (id <FTEdge>) createAndAppendEdgeWithId: (id <FTId>) edgeId withTargetNode: (id <FTNode>) targetNode;

##### Parameter Descriptions

> `edgeId`
>   id of the edge
> `targetNode`
>   node to which the edge refers

### description

>     - (NSString *) description;

method result
  information about the state of this object

### encodeWithCoder:

Is being called in order to serialize this instance

>     - (void) encodeWithCoder: (NSCoder *) encoder;

##### Parameter Descriptions

> `encoder`
>   object to be used for serialization

### incomingEdges

Get all edges pointing to self

>     - (id <ECIterator>) incomingEdges;

method result
  iterator of instances of type FTEdge or an empty iterator

### incomingNodes

access to all nodes refering the receiver of this message

>     - (id <ECIterator>) incomingNodes;

method result
  iterator over instances which implement the protocol FTNode

### init

>     - init;

method result
  self

### initWithCode

initializer called by deserialization process

See Also:

> initWithCoder:

>     - (id) initWithCoder:(NSCoder *) decoder;

##### Parameter Descriptions

> `decoder`
>   to use

method result
  self

### initWithCoder:

initializer called by deserialization process

See Also:

> initWithCode

>     - (id) initWithCoder:(NSCoder *) decoder;

##### Parameter Descriptions

> `decoder`
>   to use

### initWithNodeId

initializes this instance

See Also:

> initWithNodeId:forGraph:

>     - initWithNodeId: (id <FTId>) anId forGraph: (FTGraphImpl *) aGraph;

##### Parameter Descriptions

> `anId`
>   id for this node
> `aGraph`
>   graph to which this node belongs to

method result
  self

### initWithNodeId:forGraph:

initializes this instance

See Also:

> initWithNodeId

>     - initWithNodeId: (id <FTId>) anId forGraph: (FTGraphImpl *) aGraph;

##### Parameter Descriptions

> `anId`
>   id for this node
> `aGraph`
>   graph to which this node belongs to

### internalStateChanged

Informs graph instance to update the persistent data representing this node

>     - internalStateChanged;

method result
  self

### nodeId

>     - (id <FTId>) nodeId;

method result
  return the id of this node.

### outgoingEdges

Get all outgoing edges

>     - (id <ECIterator>) outgoingEdges;

method result
  iterator of instances of type FTEdge or an empty iterator

### outgoingNodes

access to all nodes referred by the receiver of this message

>     - (id <ECIterator>) outgoingNodes;

method result
  iterator over instances which implement the protocol FTNode

### referencesToNodeIterator:

returns an iterator over all targets nodes of the references which are contained in the given reference set

>     - (id <ECIterator>) referencesToNodeIterator: (id <FTOrderedReferenceSet>) references;

##### Parameter Descriptions

> `references`
>   containing all references to examine

method result
  iterator over all targets nodes of the references

### removeAllOutgoingNodesWithId:

removes all outgoing nodes with the specified id

See Also:

> removeOutgoingNodeWithId

>     - removeAllOutgoingNodesWithId: (id <FTId>) aNodeId;

##### Parameter Descriptions

> `nodeId`
>   identifier for the node

### removeFromReferenceSet

removes the specified reference from the set

See Also:

> removeFromReferenceSet:node:withEdgeId:

>     - removeFromReferenceSet: (id <FTOrderedReferenceSet>) references node: (FTNodeImpl *) aNode withEdgeId: (id <FTId>) anEdgeId;

##### Parameter Descriptions

> `references`
>   set to be modified
> `aNode`
>   node of the reference to be removed
> `anEdgeId`
>   edgeId of the reference to be removed

method result
  self

### removeFromReferenceSet:node:withEdgeId:

removes the specified reference from the set

See Also:

> removeFromReferenceSet

>     - removeFromReferenceSet: (id <FTOrderedReferenceSet>) references node: (FTNodeImpl *) aNode withEdgeId: (id <FTId>) anEdgeId;

##### Parameter Descriptions

> `references`
>   set to be modified
> `aNode`
>   node of the reference to be removed
> `anEdgeId`
>   edgeId of the reference to be removed

### removeIncomingReferencePointingFrom

removes the specified reference from the set of incoming references

See Also:

> removeIncomingReferencePointingFrom:withEdgeId:

>     - removeIncomingReferencePointingFrom: (FTNodeImpl *) sourceNode withEdgeId: (id <FTId>) edgeId;

##### Parameter Descriptions

> `sourceNode`
>   node pointing to the receiver
> `edgeId`
>   id for the underlying edge

method result
  self

### removeIncomingReferencePointingFrom:withEdgeId:((FTNodeImpl *), (id ), (FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))

removes the specified reference from the set of incoming references

See Also:

> removeIncomingReferencePointingFrom

>     - removeIncomingReferencePointingFrom: (FTNodeImpl *) sourceNode withEdgeId: (id <FTId>) edgeId;

##### Parameter Descriptions

> `sourceNode`
>   node pointing to the receiver
> `edgeId`
>   id for the underlying edge

### removeIncomingReferencePointingFrom:withEdgeId:((FTNodeImpl *), (id ), (id ), (id ), (FTNodeImpl *), (id ), (NSString *), (BOOL))

removes the specified reference from the set of outgoing references

See Also:

> removeOutgoingReferencePointingTo

>     - removeIncomingReferencePointingFrom: (FTNodeImpl *) targetNode withEdgeId: (id <FTId>) edgeId;

##### Parameter Descriptions

> `targetNode`
>   node pointing the receiver is pointing to
> `edgeId`
>   id for the underlying edge

### removeOutgoingNodeWithId

removes all outgoing nodes with the specified id

See Also:

> removeAllOutgoingNodesWithId:

>     - removeAllOutgoingNodesWithId: (id <FTId>) aNodeId;

##### Parameter Descriptions

> `nodeId`
>   identifier for the node

method result
  self

### removeOutgoingReferencePointingTo

removes the specified reference from the set of outgoing references

See Also:

> removeIncomingReferencePointingFrom:withEdgeId:

>     - removeIncomingReferencePointingFrom: (FTNodeImpl *) targetNode withEdgeId: (id <FTId>) edgeId;

##### Parameter Descriptions

> `targetNode`
>   node pointing the receiver is pointing to
> `edgeId`
>   id for the underlying edge

method result
  self

### serviceWithId:

retrieve the specified service

>     - (id <FTService>) serviceWithId: (NSString *) aServiceId;

##### Parameter Descriptions

> `aServiceId`
>   identifier for the service

method result
  related service or nil, if not found or version cannot be found

### writeLock:

Set / unset write lock

>     - writeLock: (BOOL) enable;

##### Parameter Descriptions

> `enable`
>   YES enables the lock

method result
  self

(Last Updated August 27, 2006)