org.pentaho.di.trans.steps.univariatestats
Class UnivariateStatsMeta

java.lang.Object
  extended by org.pentaho.di.trans.step.BaseStepMeta
      extended by org.pentaho.di.trans.steps.univariatestats.UnivariateStatsMeta
All Implemented Interfaces:
Cloneable, StepAttributesInterface, StepMetaInterface

public class UnivariateStatsMeta
extends BaseStepMeta
implements StepMetaInterface

Contains the meta-data for the UnivariateStats step: calculates predefined univariate statistics

Version:
1.0
Author:
Mark Hall (mhall{[at]}pentaho.org)

Field Summary
 
Fields inherited from class org.pentaho.di.trans.step.BaseStepMeta
loggingObject, STEP_ATTRIBUTES_FILE
 
Constructor Summary
UnivariateStatsMeta()
          Creates a new UnivariateStatsMeta instance.
 
Method Summary
 void allocate(int nrStats)
          Allocate space for stats to compute
 void check(List<CheckResultInterface> remarks, TransMeta transmeta, StepMeta stepMeta, RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info)
          Check the settings of this step and put findings in a remarks list.
 Object clone()
          Clone this step's meta data
 boolean equals(Object obj)
          Check for equality
 void getFields(RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space)
          Generates row meta data to represent the fields output by this step
 UnivariateStatsMetaFunction[] getInputFieldMetaFunctions()
          Get the stats to be computed for the input fields
 int getNumFieldsToProcess()
          Returns how many UnivariateStatsMetaFunctions are currently being used.
 StepInterface getStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta tr, Trans trans)
          Get the executing step, needed by Trans to launch a step.
 StepDataInterface getStepData()
          Get a new instance of the appropriate data class.
 String getXML()
          Return the XML describing this (configured) step
 void loadXML(Node stepnode, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Loads the meta data for this (configured) step from XML.
 void readRep(Repository rep, ObjectId id_step, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Read the steps information from a Kettle repository
 void saveRep(Repository rep, ObjectId id_transformation, ObjectId id_step)
          Save this step's meta data to a repository
 void setDefault()
          Set the default state of the meta data?
 void setInputFieldMetaFunctions(UnivariateStatsMetaFunction[] mf)
          Set the stats to be computed for the input fields
 
Methods inherited from class org.pentaho.di.trans.step.BaseStepMeta
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, exportResources, findAttribute, findParent, getDescription, getDialogClassName, getLog, getLogChannelId, getName, getObjectCopy, getObjectId, getObjectRevision, getObjectType, getOptionalStreams, getParent, getParentStepMeta, getRepCode, getRepositoryDirectory, getRequiredFields, getRequiredFields, getResourceDependencies, getSQLStatements, getStepInjectionMetadataEntries, getStepIOMeta, getStepMetaInjectionInterface, getSupportedTransformationTypes, getTableFields, getTooltip, getUsedArguments, getUsedDatabaseConnections, getUsedLibraries, getXmlCode, handleStreamSelection, hasChanged, hasRepositoryReferences, isBasic, isDebug, isDetailed, isRowLevel, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, lookupRepositoryReferences, resetStepIoMeta, searchInfoAndTargetSteps, setChanged, setChanged, setParentStepMeta, supportsErrorHandling
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.trans.step.StepMetaInterface
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, exportResources, getDialogClassName, getOptionalStreams, getParentStepMeta, getRequiredFields, getResourceDependencies, getSQLStatements, getStepIOMeta, getStepMetaInjectionInterface, getSupportedTransformationTypes, getTableFields, getUsedArguments, getUsedDatabaseConnections, getUsedLibraries, handleStreamSelection, hasRepositoryReferences, lookupRepositoryReferences, resetStepIoMeta, searchInfoAndTargetSteps, setParentStepMeta, supportsErrorHandling
 

Constructor Detail

UnivariateStatsMeta

public UnivariateStatsMeta()
Creates a new UnivariateStatsMeta instance.

Method Detail

getInputFieldMetaFunctions

public UnivariateStatsMetaFunction[] getInputFieldMetaFunctions()
Get the stats to be computed for the input fields

Returns:
an UnivariateStatsMetaFunction[] value

getNumFieldsToProcess

public int getNumFieldsToProcess()
Returns how many UnivariateStatsMetaFunctions are currently being used. Each UnivariateStatsMetaFunction represents an input field to be processed along with the user-requested stats to compute for it. The same input field may occur in more than one UnivariateStatsMetaFunction as more than one percentile may be required.

Returns:
the number of non-unique input fields

setInputFieldMetaFunctions

public void setInputFieldMetaFunctions(UnivariateStatsMetaFunction[] mf)
Set the stats to be computed for the input fields

Parameters:
mf - an array of UnivariateStatsMetaFunctions

allocate

public void allocate(int nrStats)
Allocate space for stats to compute

Parameters:
nrStats - the number of UnivariateStatsMetaFunctions to allocate

loadXML

public void loadXML(Node stepnode,
                    List<DatabaseMeta> databases,
                    Map<String,Counter> counters)
             throws KettleXMLException
Loads the meta data for this (configured) step from XML.

Specified by:
loadXML in interface StepMetaInterface
Parameters:
stepnode - the step to load
databases - The available list of databases to reference to
counters - Counters to reference.
Throws:
KettleXMLException - if an error occurs

getXML

public String getXML()
Return the XML describing this (configured) step

Specified by:
getXML in interface StepMetaInterface
Overrides:
getXML in class BaseStepMeta
Returns:
a String containing the XML

equals

public boolean equals(Object obj)
Check for equality

Overrides:
equals in class Object
Parameters:
obj - an Object to compare with
Returns:
true if equal to the supplied object

clone

public Object clone()
Clone this step's meta data

Specified by:
clone in interface StepMetaInterface
Overrides:
clone in class BaseStepMeta
Returns:
the cloned meta data

setDefault

public void setDefault()
Set the default state of the meta data?

Specified by:
setDefault in interface StepMetaInterface

readRep

public void readRep(Repository rep,
                    ObjectId id_step,
                    List<DatabaseMeta> databases,
                    Map<String,Counter> counters)
             throws KettleException
Description copied from interface: StepMetaInterface
Read the steps information from a Kettle repository

Specified by:
readRep in interface StepMetaInterface
Parameters:
rep - The repository to read from
id_step - The step ID
databases - The databases to reference
counters - The counters to reference
Throws:
KettleException - When an unexpected error occurred (database, network, etc)

saveRep

public void saveRep(Repository rep,
                    ObjectId id_transformation,
                    ObjectId id_step)
             throws KettleException
Save this step's meta data to a repository

Specified by:
saveRep in interface StepMetaInterface
Parameters:
rep - the repository to save to
id_transformation - transformation id
id_step - step id
Throws:
KettleException - if an error occurs

getFields

public void getFields(RowMetaInterface row,
                      String origin,
                      RowMetaInterface[] info,
                      StepMeta nextStep,
                      VariableSpace space)
               throws KettleStepException
Generates row meta data to represent the fields output by this step

Specified by:
getFields in interface StepMetaInterface
Overrides:
getFields in class BaseStepMeta
Parameters:
row - the meta data for the output produced
origin - the name of the step to be used as the origin
info - The input rows metadata that enters the step through the specified channels in the same order as in method getInfoSteps(). The step metadata can then choose what to do with it: ignore it or not.
nextStep - if this is a non-null value, it's the next step in the transformation. The one who's asking, the step where the data is targetted towards.
space - not sure what this is :-)
Throws:
KettleStepException - if an error occurs

check

public void check(List<CheckResultInterface> remarks,
                  TransMeta transmeta,
                  StepMeta stepMeta,
                  RowMetaInterface prev,
                  String[] input,
                  String[] output,
                  RowMetaInterface info)
Check the settings of this step and put findings in a remarks list.

Specified by:
check in interface StepMetaInterface
Parameters:
remarks - the list to put the remarks in. see org.pentaho.di.core.CheckResult
transmeta - the transform meta data
stepMeta - the step meta data
prev - the fields coming from a previous step
input - the input step names
output - the output step names
info - the fields that are used as information by the step

getStep

public StepInterface getStep(StepMeta stepMeta,
                             StepDataInterface stepDataInterface,
                             int cnr,
                             TransMeta tr,
                             Trans trans)
Get the executing step, needed by Trans to launch a step.

Specified by:
getStep in interface StepMetaInterface
Parameters:
stepMeta - the step info
stepDataInterface - the step data interface linked to this step. Here the step can store temporary data, database connections, etc.
cnr - the copy number to get.
tr - the transformation info.
trans - the launching transformation
Returns:
a StepInterface value

getStepData

public StepDataInterface getStepData()
Get a new instance of the appropriate data class. This data class implements the StepDataInterface. It basically contains the persisting data that needs to live on, even if a worker thread is terminated.

Specified by:
getStepData in interface StepMetaInterface
Returns:
a StepDataInterface value