Class GroupByMeta

java.lang.Object
org.pentaho.di.trans.step.BaseStepMeta
org.pentaho.di.trans.steps.groupby.GroupByMeta
All Implemented Interfaces:
Cloneable, StepAttributesInterface, StepMetaInterface

public class GroupByMeta extends BaseStepMeta implements StepMetaInterface
Created on 02-jun-2003
  • Field Details

    • TYPE_GROUP_NONE

      public static final int TYPE_GROUP_NONE
      See Also:
    • TYPE_GROUP_SUM

      public static final int TYPE_GROUP_SUM
      See Also:
    • TYPE_GROUP_AVERAGE

      public static final int TYPE_GROUP_AVERAGE
      See Also:
    • TYPE_GROUP_MEDIAN

      public static final int TYPE_GROUP_MEDIAN
      See Also:
    • TYPE_GROUP_PERCENTILE

      public static final int TYPE_GROUP_PERCENTILE
      See Also:
    • TYPE_GROUP_MIN

      public static final int TYPE_GROUP_MIN
      See Also:
    • TYPE_GROUP_MAX

      public static final int TYPE_GROUP_MAX
      See Also:
    • TYPE_GROUP_COUNT_ALL

      public static final int TYPE_GROUP_COUNT_ALL
      See Also:
    • TYPE_GROUP_CONCAT_COMMA

      public static final int TYPE_GROUP_CONCAT_COMMA
      See Also:
    • TYPE_GROUP_FIRST

      public static final int TYPE_GROUP_FIRST
      See Also:
    • TYPE_GROUP_LAST

      public static final int TYPE_GROUP_LAST
      See Also:
    • TYPE_GROUP_FIRST_INCL_NULL

      public static final int TYPE_GROUP_FIRST_INCL_NULL
      See Also:
    • TYPE_GROUP_LAST_INCL_NULL

      public static final int TYPE_GROUP_LAST_INCL_NULL
      See Also:
    • TYPE_GROUP_CUMULATIVE_SUM

      public static final int TYPE_GROUP_CUMULATIVE_SUM
      See Also:
    • TYPE_GROUP_CUMULATIVE_AVERAGE

      public static final int TYPE_GROUP_CUMULATIVE_AVERAGE
      See Also:
    • TYPE_GROUP_STANDARD_DEVIATION

      public static final int TYPE_GROUP_STANDARD_DEVIATION
      See Also:
    • TYPE_GROUP_CONCAT_STRING

      public static final int TYPE_GROUP_CONCAT_STRING
      See Also:
    • TYPE_GROUP_COUNT_DISTINCT

      public static final int TYPE_GROUP_COUNT_DISTINCT
      See Also:
    • TYPE_GROUP_COUNT_ANY

      public static final int TYPE_GROUP_COUNT_ANY
      See Also:
    • TYPE_GROUP_STANDARD_DEVIATION_SAMPLE

      public static final int TYPE_GROUP_STANDARD_DEVIATION_SAMPLE
      See Also:
    • TYPE_GROUP_PERCENTILE_NEAREST_RANK

      public static final int TYPE_GROUP_PERCENTILE_NEAREST_RANK
      See Also:
    • typeGroupCode

      public static final String[] typeGroupCode
    • typeGroupLongDesc

      public static final String[] typeGroupLongDesc
  • Constructor Details

    • GroupByMeta

      public GroupByMeta()
  • Method Details

    • getAggregateField

      public String[] getAggregateField()
      Returns:
      Returns the aggregateField.
    • setAggregateField

      public void setAggregateField(String[] aggregateField)
      Parameters:
      aggregateField - The aggregateField to set.
    • isAggregateIgnored

      public boolean isAggregateIgnored()
      Returns:
      Returns the aggregateIgnored.
    • setAggregateIgnored

      public void setAggregateIgnored(boolean aggregateIgnored)
      Parameters:
      aggregateIgnored - The aggregateIgnored to set.
    • getAggregateIgnoredField

      public String getAggregateIgnoredField()
      Returns:
      Returns the aggregateIgnoredField.
    • setAggregateIgnoredField

      public void setAggregateIgnoredField(String aggregateIgnoredField)
      Parameters:
      aggregateIgnoredField - The aggregateIgnoredField to set.
    • getAggregateType

      public int[] getAggregateType()
      Returns:
      Returns the aggregateType.
    • setAggregateType

      public void setAggregateType(int[] aggregateType)
      Parameters:
      aggregateType - The aggregateType to set.
    • getGroupField

      public String[] getGroupField()
      Returns:
      Returns the groupField.
    • setGroupField

      public void setGroupField(String[] groupField)
      Parameters:
      groupField - The groupField to set.
    • passAllRows

      public boolean passAllRows()
      Returns:
      Returns the passAllRows.
    • setPassAllRows

      public void setPassAllRows(boolean passAllRows)
      Parameters:
      passAllRows - The passAllRows to set.
    • getSubjectField

      public String[] getSubjectField()
      Returns:
      Returns the subjectField.
    • setSubjectField

      public void setSubjectField(String[] subjectField)
      Parameters:
      subjectField - The subjectField to set.
    • getValueField

      public String[] getValueField()
      Returns:
      Returns the valueField.
    • setValueField

      public void setValueField(String[] valueField)
      Parameters:
      valueField - The valueField to set.
    • loadXML

      public void loadXML(Node stepnode, List<org.pentaho.di.core.database.DatabaseMeta> databases, org.pentaho.metastore.api.IMetaStore metaStore) throws org.pentaho.di.core.exception.KettleXMLException
      Description copied from interface: StepMetaInterface
      Load the values for this step from an XML Node
      Specified by:
      loadXML in interface StepMetaInterface
      Overrides:
      loadXML in class BaseStepMeta
      Parameters:
      stepnode - the Node to get the info from
      databases - The available list of databases to reference to
      metaStore - the metastore to optionally load external reference metadata from
      Throws:
      org.pentaho.di.core.exception.KettleXMLException - When an unexpected XML error occurred. (malformed etc.)
    • allocate

      public void allocate(int sizegroup, int nrfields)
    • clone

      public Object clone()
      Description copied from interface: StepMetaInterface
      Make an exact copy of this step, make sure to explicitly copy Collections etc.
      Specified by:
      clone in interface StepMetaInterface
      Overrides:
      clone in class BaseStepMeta
      Returns:
      an exact copy of this step
    • getType

      public static final int getType(String desc)
    • getTypeDesc

      public static final String getTypeDesc(int i)
    • getTypeDescLong

      public static final String getTypeDescLong(int i)
    • setDefault

      public void setDefault()
      Description copied from interface: StepMetaInterface
      Set default values
      Specified by:
      setDefault in interface StepMetaInterface
    • getFields

      public void getFields(org.pentaho.di.core.row.RowMetaInterface rowMeta, String origin, org.pentaho.di.core.row.RowMetaInterface[] info, StepMeta nextStep, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from class: BaseStepMeta
      Gets the fields.
      Specified by:
      getFields in interface StepMetaInterface
      Overrides:
      getFields in class BaseStepMeta
      Parameters:
      rowMeta - the input row meta that is modified in this method to reflect the output row metadata of the step
      origin - Name of the step to use as input for the origin field in the values
      info - Fields used as extra lookup information
      nextStep - the next step that is targeted
      space - the space The variable space to use to replace variables
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
    • getXML

      public String getXML()
      Description copied from class: BaseStepMeta
      Produces the XML string that describes this step's information.
      Specified by:
      getXML in interface StepMetaInterface
      Overrides:
      getXML in class BaseStepMeta
      Returns:
      String containing the XML describing this step.
    • readRep

      public void readRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_step, List<org.pentaho.di.core.database.DatabaseMeta> databases) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepMetaInterface
      Read the steps information from a Kettle repository
      Specified by:
      readRep in interface StepMetaInterface
      Overrides:
      readRep in class BaseStepMeta
      Parameters:
      rep - The repository to read from
      metaStore - The MetaStore to read external information from
      id_step - The step ID
      databases - The databases to reference
      Throws:
      org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
    • saveRep

      public void saveRep(Repository rep, org.pentaho.metastore.api.IMetaStore metaStore, org.pentaho.di.repository.ObjectId id_transformation, org.pentaho.di.repository.ObjectId id_step) throws org.pentaho.di.core.exception.KettleException
      Description copied from interface: StepMetaInterface
      Save the steps data into a Kettle repository
      Specified by:
      saveRep in interface StepMetaInterface
      Overrides:
      saveRep in class BaseStepMeta
      Parameters:
      rep - The Kettle repository to save to
      metaStore - the metaStore to optionally write to
      id_transformation - The transformation ID
      id_step - The step ID
      Throws:
      org.pentaho.di.core.exception.KettleException - When an unexpected error occurred (database, network, etc)
    • check

      public void check(List<org.pentaho.di.core.CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta, org.pentaho.di.core.row.RowMetaInterface prev, String[] input, String[] output, org.pentaho.di.core.row.RowMetaInterface info, org.pentaho.di.core.variables.VariableSpace space, Repository repository, org.pentaho.metastore.api.IMetaStore metaStore)
      Description copied from interface: StepMetaInterface
      Checks the settings of this step and puts the findings in a remarks List.
      Specified by:
      check in interface StepMetaInterface
      Overrides:
      check in class BaseStepMeta
      Parameters:
      remarks - The list to put the remarks in @see org.pentaho.di.core.CheckResult
      stepMeta - The stepMeta to help checking
      prev - The fields coming from the previous step
      input - The input step names
      output - The output step names
      info - The fields that are used as information by the step
      space - the variable space to resolve variable expressions with
      repository - the repository to use to load Kettle metadata objects impacting the output fields
      metaStore - the MetaStore to use to load additional external data or metadata impacting the output fields
    • getStep

      public StepInterface getStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta transMeta, Trans trans)
      Description copied from interface: StepMetaInterface
      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 nr to get
      transMeta - The transformation info
      trans - The launching transformation
    • getStepData

      public StepDataInterface getStepData()
      Description copied from interface: StepMetaInterface
      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:
      The appropriate StepDataInterface class.
    • getDirectory

      public String getDirectory()
      Returns:
      Returns the directory.
    • setDirectory

      public void setDirectory(String directory)
      Parameters:
      directory - The directory to set.
    • getPrefix

      public String getPrefix()
      Returns:
      Returns the prefix.
    • setPrefix

      public void setPrefix(String prefix)
      Parameters:
      prefix - The prefix to set.
    • isAddingLineNrInGroup

      public boolean isAddingLineNrInGroup()
      Returns:
      the addingLineNrInGroup
    • setAddingLineNrInGroup

      public void setAddingLineNrInGroup(boolean addingLineNrInGroup)
      Parameters:
      addingLineNrInGroup - the addingLineNrInGroup to set
    • getLineNrInGroupField

      public String getLineNrInGroupField()
      Returns:
      the lineNrInGroupField
    • setLineNrInGroupField

      public void setLineNrInGroupField(String lineNrInGroupField)
      Parameters:
      lineNrInGroupField - the lineNrInGroupField to set
    • isAlwaysGivingBackOneRow

      public boolean isAlwaysGivingBackOneRow()
      Returns:
      the alwaysGivingBackOneRow
    • setAlwaysGivingBackOneRow

      public void setAlwaysGivingBackOneRow(boolean alwaysGivingBackOneRow)
      Parameters:
      alwaysGivingBackOneRow - the alwaysGivingBackOneRow to set
    • getStepMetaInjectionInterface

      public StepMetaInjectionInterface getStepMetaInjectionInterface()
      Specified by:
      getStepMetaInjectionInterface in interface StepMetaInterface
      Overrides:
      getStepMetaInjectionInterface in class BaseStepMeta
      Returns:
      Optional interface that allows an external program to inject step metadata in a standardized fasion. This method will return null if the interface is not available for this step.
    • getSupportedTransformationTypes

      public TransMeta.TransformationType[] getSupportedTransformationTypes()
      Specified by:
      getSupportedTransformationTypes in interface StepMetaInterface
      Overrides:
      getSupportedTransformationTypes in class BaseStepMeta
      Returns:
      The supported transformation types that this step supports.