FTNodeImpl


Abstract

Implementation of the protocol

Discussion

At present the handling of relations from one node to another is kept simple: Each node contains the underlying references to nodes to which it links (outgoing nodes) and which point to it (incoming nodes). This (internal) representation may change in future since it may not be efficient enough wrt. to searching paths

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)