org.pentaho.di.trans.step
Class StepMeta

java.lang.Object
  extended by org.pentaho.di.shared.SharedObjectBase
      extended by org.pentaho.di.trans.step.StepMeta
All Implemented Interfaces:
Cloneable, Comparable<StepMeta>, org.pentaho.di.core.CheckResultSourceInterface, org.pentaho.di.core.gui.GUIPositionInterface, ResourceExportInterface, ResourceHolderInterface, org.pentaho.di.shared.SharedObjectInterface

public class StepMeta
extends org.pentaho.di.shared.SharedObjectBase
implements Cloneable, Comparable<StepMeta>, org.pentaho.di.core.gui.GUIPositionInterface, org.pentaho.di.shared.SharedObjectInterface, org.pentaho.di.core.CheckResultSourceInterface, ResourceExportInterface, ResourceHolderInterface

This class contains everything that is needed to define a step.

Since:
27-mei-2003
Author:
Matt

Field Summary
static Object STRING_ID_MAPPING
           
static Object STRING_ID_MAPPING_INPUT
           
static Object STRING_ID_MAPPING_OUTPUT
           
static String XML_TAG
           
 
Constructor Summary
StepMeta()
           
StepMeta(long id_step)
           
StepMeta(Node stepnode, List<org.pentaho.di.core.database.DatabaseMeta> databases, Map<String,org.pentaho.di.core.Counter> counters)
          Read the step data from XML
StepMeta(Repository rep, long id_step, List<org.pentaho.di.core.database.DatabaseMeta> databases, Map<String,org.pentaho.di.core.Counter> counters, List<PartitionSchema> partitionSchemas)
          Create a new step by loading the metadata from the specified repository.
StepMeta(String stepname, StepMetaInterface stepMetaInterface)
           
StepMeta(String stepid, String stepname, StepMetaInterface stepMetaInterface)
           
 
Method Summary
 void check(List<org.pentaho.di.core.CheckResultInterface> remarks, TransMeta transMeta, org.pentaho.di.core.row.RowMetaInterface prev, String[] input, String[] output, org.pentaho.di.core.row.RowMetaInterface info)
           
 boolean chosesTargetSteps()
           
 Object clone()
           
 int compareTo(StepMeta o)
           
 void drawStep()
           
 boolean equals(Object obj)
          Two steps are equal if their names are equal.
 String exportResources(org.pentaho.di.core.variables.VariableSpace space, Map<String,ResourceDefinition> definitions, ResourceNamingInterface resourceNamingInterface, Repository repository)
          Exports the object to a flat-file system, adding content with filename keys to a set of definitions.
static StepMeta findStep(List<StepMeta> steps, long id)
          Find a step with the ID in a given ArrayList of steps
static StepMeta findStep(List<StepMeta> steps, String stepname)
          Find a step with its name in a given ArrayList of steps
 void flipSelected()
           
 ClusterSchema getClusterSchema()
           
 int getCopies()
          Get the number of copies to start of a step.
 String getDescription()
           
 String getHolderType()
          Gets the high-level type of resource holder.
 long getID()
           
 org.pentaho.di.core.gui.Point getLocation()
           
 String getName()
           
 List<RemoteStep> getRemoteInputSteps()
           
 List<RemoteStep> getRemoteOutputSteps()
           
 List<ResourceReference> getResourceDependencies(TransMeta transMeta)
          Get a list of all the resource dependencies that the step is depending on.
 StepErrorMeta getStepErrorMeta()
           
 String getStepID()
           
 StepMetaInterface getStepMetaInterface()
           
 StepPartitioningMeta getStepPartitioningMeta()
           
 StepPartitioningMeta getTargetStepPartitioningMeta()
           
 String getTypeId()
          Support for CheckResultSourceInterface
 String getXML()
           
 boolean hasChanged()
           
 int hashCode()
           
 boolean hasTerminator()
           
 void hideStep()
           
 boolean isClustered()
           
 boolean isDistributes()
           
 boolean isDoingErrorHandling()
           
 boolean isDrawn()
          See wether or not the step is drawn on the canvas.
 boolean isDrawStep()
          See wether or not the step is drawn on the canvas.
 boolean isMapping()
           
 boolean isMappingInput()
           
 boolean isMappingOutput()
           
 boolean isPartitioned()
           
 boolean isRepartitioning()
           
 boolean isSelected()
           
 boolean isSendingErrorRowsToStep(StepMeta targetStep)
           
 boolean isTargetPartitioned()
           
 void replaceMeta(StepMeta stepMeta)
           
 void saveRep(Repository rep, long id_transformation)
           
 void setChanged()
           
 void setChanged(boolean ch)
           
 void setClusterSchema(ClusterSchema clusterSchema)
           
 void setClusterSchemaAfterLoading(List<ClusterSchema> clusterSchemas)
          Resolves the name of the cluster loaded from XML/Repository to the correct clusterSchema object
 void setCopies(int c)
          Sets the number of parallel copies that this step will be launched with.
 void setDescription(String description)
           
 void setDistributes(boolean distributes)
           
 void setDraw(boolean draw)
          Sets the draw attribute of the step so that it will be drawn on the canvas.
 void setID(long id)
           
 void setLocation(int x, int y)
           
 void setLocation(org.pentaho.di.core.gui.Point loc)
           
 void setName(String sname)
           
 void setRemoteInputSteps(List<RemoteStep> remoteInputSteps)
           
 void setRemoteOutputSteps(List<RemoteStep> remoteOutputSteps)
           
 void setSelected(boolean sel)
           
 void setStepErrorMeta(StepErrorMeta stepErrorMeta)
           
 void setStepPartitioningMeta(StepPartitioningMeta stepPartitioningMeta)
           
 void setTargetStepPartitioningMeta(StepPartitioningMeta targetStepPartitioningMeta)
           
 void setTerminator()
           
 void setTerminator(boolean t)
           
 boolean supportsErrorHandling()
           
 String toString()
           
 
Methods inherited from class org.pentaho.di.shared.SharedObjectBase
isShared, setShared
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.shared.SharedObjectInterface
isShared, setShared
 

Field Detail

XML_TAG

public static final String XML_TAG
See Also:
Constant Field Values

STRING_ID_MAPPING

public static final Object STRING_ID_MAPPING

STRING_ID_MAPPING_INPUT

public static final Object STRING_ID_MAPPING_INPUT

STRING_ID_MAPPING_OUTPUT

public static final Object STRING_ID_MAPPING_OUTPUT
Constructor Detail

StepMeta

public StepMeta(String stepid,
                String stepname,
                StepMetaInterface stepMetaInterface)
Parameters:
stepid - The ID of the step: this is derived information, you can also use the constructor without stepid. This constructor will be deprecated soon.
stepname - The name of the new step
stepMetaInterface - The step metadata interface to use (TextFileInputMeta, etc)

StepMeta

public StepMeta(String stepname,
                StepMetaInterface stepMetaInterface)
Parameters:
stepname - The name of the new step
stepMetaInterface - The step metadata interface to use (TextFileInputMeta, etc)

StepMeta

public StepMeta()

StepMeta

public StepMeta(Node stepnode,
                List<org.pentaho.di.core.database.DatabaseMeta> databases,
                Map<String,org.pentaho.di.core.Counter> counters)
         throws org.pentaho.di.core.exception.KettleXMLException
Read the step data from XML

Parameters:
stepnode - The XML step node.
databases - A list of databases
counters - A map with all defined counters.
Throws:
org.pentaho.di.core.exception.KettleXMLException

StepMeta

public StepMeta(long id_step)

StepMeta

public StepMeta(Repository rep,
                long id_step,
                List<org.pentaho.di.core.database.DatabaseMeta> databases,
                Map<String,org.pentaho.di.core.Counter> counters,
                List<PartitionSchema> partitionSchemas)
         throws org.pentaho.di.core.exception.KettleException
Create a new step by loading the metadata from the specified repository.

Parameters:
rep -
id_step -
databases -
counters -
partitionSchemas -
Throws:
org.pentaho.di.core.exception.KettleException
Method Detail

getXML

public String getXML()
              throws org.pentaho.di.core.exception.KettleException
Specified by:
getXML in interface org.pentaho.di.shared.SharedObjectInterface
Throws:
org.pentaho.di.core.exception.KettleException

setClusterSchemaAfterLoading

public void setClusterSchemaAfterLoading(List<ClusterSchema> clusterSchemas)
Resolves the name of the cluster loaded from XML/Repository to the correct clusterSchema object

Parameters:
clusterSchemas - The list of clusterSchemas to reference.

getID

public long getID()
Specified by:
getID in interface org.pentaho.di.core.CheckResultSourceInterface
Specified by:
getID in interface ResourceHolderInterface
Returns:
The ID of the holder of the resource

setID

public void setID(long id)

isDrawn

public boolean isDrawn()
See wether or not the step is drawn on the canvas.

Returns:
True if the step is drawn on the canvas.

isDrawStep

public boolean isDrawStep()
See wether or not the step is drawn on the canvas. Same as isDrawn(), but needed for findMethod(StepMeta, drawstep) called by StringSearcher.findMetaData(). Otherwise findMethod() returns org.pentaho.di.trans.step.StepMeta.drawStep() instead of isDrawn().

Returns:
True if the step is drawn on the canvas.

setDraw

public void setDraw(boolean draw)
Sets the draw attribute of the step so that it will be drawn on the canvas.

Parameters:
draw - True if you want the step to show itself on the canvas, False if you don't.

setCopies

public void setCopies(int c)
Sets the number of parallel copies that this step will be launched with.

Parameters:
c - The number of copies.

getCopies

public int getCopies()
Get the number of copies to start of a step. This takes into account the partitioning logic.

Returns:
the number of step copies to start.

drawStep

public void drawStep()

hideStep

public void hideStep()

equals

public boolean equals(Object obj)
Two steps are equal if their names are equal.

Overrides:
equals in class Object
Returns:
true if the two steps are equal.

hashCode

public int hashCode()
Overrides:
hashCode in class Object

compareTo

public int compareTo(StepMeta o)
Specified by:
compareTo in interface Comparable<StepMeta>

hasChanged

public boolean hasChanged()

setChanged

public void setChanged(boolean ch)

setChanged

public void setChanged()

chosesTargetSteps

public boolean chosesTargetSteps()

clone

public Object clone()
Overrides:
clone in class Object

replaceMeta

public void replaceMeta(StepMeta stepMeta)

getStepMetaInterface

public StepMetaInterface getStepMetaInterface()

getStepID

public String getStepID()

getName

public String getName()
Specified by:
getName in interface org.pentaho.di.core.CheckResultSourceInterface
Specified by:
getName in interface ResourceHolderInterface
Specified by:
getName in interface org.pentaho.di.shared.SharedObjectInterface
Returns:
The name of the holder of the resource

setName

public void setName(String sname)

getDescription

public String getDescription()
Specified by:
getDescription in interface org.pentaho.di.core.CheckResultSourceInterface
Specified by:
getDescription in interface ResourceHolderInterface
Returns:
The description of the holder of the resource

setDescription

public void setDescription(String description)

setSelected

public void setSelected(boolean sel)
Specified by:
setSelected in interface org.pentaho.di.core.gui.GUIPositionInterface

flipSelected

public void flipSelected()

isSelected

public boolean isSelected()
Specified by:
isSelected in interface org.pentaho.di.core.gui.GUIPositionInterface

setTerminator

public void setTerminator()

setTerminator

public void setTerminator(boolean t)

hasTerminator

public boolean hasTerminator()

saveRep

public void saveRep(Repository rep,
                    long id_transformation)
             throws org.pentaho.di.core.exception.KettleException
Throws:
org.pentaho.di.core.exception.KettleException

setLocation

public void setLocation(int x,
                        int y)
Specified by:
setLocation in interface org.pentaho.di.core.gui.GUIPositionInterface

setLocation

public void setLocation(org.pentaho.di.core.gui.Point loc)
Specified by:
setLocation in interface org.pentaho.di.core.gui.GUIPositionInterface

getLocation

public org.pentaho.di.core.gui.Point getLocation()
Specified by:
getLocation in interface org.pentaho.di.core.gui.GUIPositionInterface

check

public void check(List<org.pentaho.di.core.CheckResultInterface> remarks,
                  TransMeta transMeta,
                  org.pentaho.di.core.row.RowMetaInterface prev,
                  String[] input,
                  String[] output,
                  org.pentaho.di.core.row.RowMetaInterface info)

toString

public String toString()
Overrides:
toString in class Object

isPartitioned

public boolean isPartitioned()
Returns:
true is the step is partitioned

isTargetPartitioned

public boolean isTargetPartitioned()
Returns:
true is the step is partitioned

getStepPartitioningMeta

public StepPartitioningMeta getStepPartitioningMeta()
Returns:
the stepPartitioningMeta

setStepPartitioningMeta

public void setStepPartitioningMeta(StepPartitioningMeta stepPartitioningMeta)
Parameters:
stepPartitioningMeta - the stepPartitioningMeta to set

getClusterSchema

public ClusterSchema getClusterSchema()
Returns:
the clusterSchema

setClusterSchema

public void setClusterSchema(ClusterSchema clusterSchema)
Parameters:
clusterSchema - the clusterSchema to set

isDistributes

public boolean isDistributes()
Returns:
the distributes

setDistributes

public void setDistributes(boolean distributes)
Parameters:
distributes - the distributes to set

getStepErrorMeta

public StepErrorMeta getStepErrorMeta()
Returns:
the StepErrorMeta error handling metadata for this step

setStepErrorMeta

public void setStepErrorMeta(StepErrorMeta stepErrorMeta)
Parameters:
stepErrorMeta - the error handling metadata for this step

findStep

public static final StepMeta findStep(List<StepMeta> steps,
                                      long id)
Find a step with the ID in a given ArrayList of steps

Parameters:
steps - The List of steps to search
id - The ID of the step
Returns:
The step if it was found, null if nothing was found

findStep

public static final StepMeta findStep(List<StepMeta> steps,
                                      String stepname)
Find a step with its name in a given ArrayList of steps

Parameters:
steps - The List of steps to search
stepname - The name of the step
Returns:
The step if it was found, null if nothing was found

supportsErrorHandling

public boolean supportsErrorHandling()

isDoingErrorHandling

public boolean isDoingErrorHandling()
Returns:
if error handling is supported for this step, if error handling is defined and a target step is set

isSendingErrorRowsToStep

public boolean isSendingErrorRowsToStep(StepMeta targetStep)

getTypeId

public String getTypeId()
Support for CheckResultSourceInterface

Specified by:
getTypeId in interface org.pentaho.di.core.CheckResultSourceInterface
Specified by:
getTypeId in interface ResourceHolderInterface
Returns:
The Type ID of the resource holder. The Type ID is the system-defined type identifier (like TRANS or SORT).

isMapping

public boolean isMapping()

isMappingInput

public boolean isMappingInput()

isMappingOutput

public boolean isMappingOutput()

getResourceDependencies

public List<ResourceReference> getResourceDependencies(TransMeta transMeta)
Get a list of all the resource dependencies that the step is depending on.

Returns:
a list of all the resource dependencies that the step is depending on

exportResources

public String exportResources(org.pentaho.di.core.variables.VariableSpace space,
                              Map<String,ResourceDefinition> definitions,
                              ResourceNamingInterface resourceNamingInterface,
                              Repository repository)
                       throws org.pentaho.di.core.exception.KettleException
Description copied from interface: ResourceExportInterface
Exports the object to a flat-file system, adding content with filename keys to a set of definitions. The supplied resource naming interface allows the object to name appropriately without worrying about those parts of the implementation specific details.

Specified by:
exportResources in interface ResourceExportInterface
Parameters:
space - The variable space to resolve (environment) variables with.
definitions - The map containing the filenames and content
resourceNamingInterface - The resource naming interface allows the object to name appropriately
repository - the repository object to load from
Returns:
The filename for this object. (also contained in the definitions map)
Throws:
org.pentaho.di.core.exception.KettleException - in case something goes wrong during the export

getRemoteInputSteps

public List<RemoteStep> getRemoteInputSteps()
Returns:
the remoteInputSteps

setRemoteInputSteps

public void setRemoteInputSteps(List<RemoteStep> remoteInputSteps)
Parameters:
remoteInputSteps - the remoteInputSteps to set

getRemoteOutputSteps

public List<RemoteStep> getRemoteOutputSteps()
Returns:
the remoteOutputSteps

setRemoteOutputSteps

public void setRemoteOutputSteps(List<RemoteStep> remoteOutputSteps)
Parameters:
remoteOutputSteps - the remoteOutputSteps to set

getTargetStepPartitioningMeta

public StepPartitioningMeta getTargetStepPartitioningMeta()
Returns:
the targetStepPartitioningMeta

setTargetStepPartitioningMeta

public void setTargetStepPartitioningMeta(StepPartitioningMeta targetStepPartitioningMeta)
Parameters:
targetStepPartitioningMeta - the targetStepPartitioningMeta to set

isRepartitioning

public boolean isRepartitioning()

getHolderType

public String getHolderType()
Description copied from interface: ResourceHolderInterface
Gets the high-level type of resource holder.

Specified by:
getHolderType in interface ResourceHolderInterface
Returns:
JOBENTRY, STEP, etc.

isClustered

public boolean isClustered()