ajax.exec
Class Node

java.lang.Object
  |
  +--ajax.exec.Node

public class Node
extends java.lang.Object

This class represents a node in the transformation execution graph. There are several types of nodes. A node can represent a transformation (type = view, mapping, clustering, merging and matching), an initial data flow, corresponding to a table/file supplied by the user (type = BASE_DATA_FLOW), or it can represent an output of a transformation that has several outputs. The instance variable name represents the "name" of the transformation for a node of "type" equal to transformation. For a transformation with a single output, this also represents the name of the transformation output. For a node of "type" output, the name represented here is the name of the output. For a node of "type" equal to base input data flow, the name represents the name of the initial data flow. The instance variable "children" contains all the nodes which have this node (data flow) as input. The instance variable "outputs" contains all the nodes that are output of this node (which in this case represents a transformation with several outputs).


Field Summary
static int BASE_DATA_FLOW
           
static int CLUST
           
static int DERIVED_DATA_FLOW
           
static int MAPP
          Possible types of the node
static int MATCH
           
static int MERG
           
static int VIEW
           
 
Constructor Summary
Node(int transformationType, java.lang.String dataFlowName)
           
 
Method Summary
 void addChild(Node child)
          Add a child node to this node.
 void addOutput(Node output)
          Add an output node to this node.
 java.util.List children()
           
 boolean hasMultiOutputs()
          returns true if this node represents a transforamtion with several outputs.
 boolean isInput()
          says if node represents an initial input.
 boolean isOutput()
          says if node represents an output of a transformation.
 boolean isTransformation()
          says if node represents a transformation.
 java.lang.String name()
          Returns the name of the transformation for a node of "type" transformation.
 java.util.List outputs()
           
 java.lang.String transformationTypeName()
          returns the name of the type of this node.
 int type()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAPP

public static final int MAPP
Possible types of the node

MATCH

public static final int MATCH

CLUST

public static final int CLUST

MERG

public static final int MERG

VIEW

public static final int VIEW

DERIVED_DATA_FLOW

public static final int DERIVED_DATA_FLOW

BASE_DATA_FLOW

public static final int BASE_DATA_FLOW
Constructor Detail

Node

public Node(int transformationType,
            java.lang.String dataFlowName)
Method Detail

isTransformation

public boolean isTransformation()
says if node represents a transformation.

isInput

public boolean isInput()
says if node represents an initial input.

isOutput

public boolean isOutput()
says if node represents an output of a transformation.

children

public final java.util.List children()

outputs

public final java.util.List outputs()

hasMultiOutputs

public final boolean hasMultiOutputs()
returns true if this node represents a transforamtion with several outputs.

type

public final int type()

name

public final java.lang.String name()
Returns the name of the transformation for a node of "type" transformation. In this case, if the transformation has a single output, the name is also the name of the output. For a node of "type" output, this method returns the name of the output. For a node of "type" input, this node returns the name of the inital input.

transformationTypeName

public final java.lang.String transformationTypeName()
returns the name of the type of this node. For nodes of transformation type, it returns the name of the type of the transformation (VIEW, MAPPING, ...). For the other types it returns an empty string.

addChild

public final void addChild(Node child)
Add a child node to this node.

addOutput

public final void addOutput(Node output)
Add an output node to this node.