Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## edu.udo.cs.miningmart.m4.core
Class Step

    java.lang.Object
      edu.udo.cs.miningmart.m4.core.M4Object
          edu.udo.cs.miningmart.m4.core.M4Data
              edu.udo.cs.miningmart.m4.core.GraphicalM4Object
                  edu.udo.cs.miningmart.m4.core.Step

All Implemented Interfaces:
  java.lang.Comparable, GraphicalM4Object, HasCrossReferences, M4Data, M4Object, M4Table, java.io.Serializable, Step, XmlInfo

public class Step
extends GraphicalM4Object
implements Step, XmlInfo, HasCrossReferences

This class represents an M4 Step. Apart from the tuple-based load mechanism there is a second one, loading and aggregating tuples as specified by the entries in the `OP_PARAM_T` table. The first mechanism uses the methods `getParameters()`, `addParameterTuple(Parameter)`, and `removeParameterTuple(Parameter)`. The latter uses the methods `getParameterDictionary()`, `getParameterFromDict(String, int)`, `getSingleParameter(String)`, `getSingleParameter(String, int)`, `getTheParameter(String)`, and `getTheParameter(String, int)`. Adding or removing parameters is not possible with the second mechanism, for it is a support for compiler access to aggregated parameter arrays only.

Version:
  $Id: Step.java,v 1.21 2006/05/23 08:08:34 euler Exp $
Author:
  Timm Euler
See Also:
  Serialized Form

Field Summary
`static java.lang.String` | `ATTRIB_CASE_ID` db level reference to the embedding case by this attribute
`static java.lang.String` | `ATTRIB_CHAIN_ID` db level reference to the embedding chain by this attribute
`static java.lang.String` | `ATTRIB_DBT_OBJNAME`
`static java.lang.String` | `ATTRIB_DBT_OBJTYPE`
`static java.lang.String` | `ATTRIB_DBT_SCHEMA`
`static java.lang.String` | `ATTRIB_DBT_STEPID`
`static java.lang.String` | `ATTRIB_MULTISTEP_COND` db level: operator name attribute
`static java.lang.String` | `ATTRIB_NUM_OF_LOOPS` db level: number of loops attribute
`static java.lang.String` | `ATTRIB_OPERATOR_ID` db level reference to the step's operator
`static java.lang.String` | `ATTRIB_STEP_ID` db level id of this object is realized by this attribute
`static java.lang.String` | `ATTRIB_STEP_NAME` db level name of this object is realized by this attribute
`static java.lang.String` | `ATTRIB_STEP_NR` db level: step number attribute
`static java.lang.String` | `ATTRIB_STEPSEQ_DEPENDENCY_ID` db level: name of the attribute holding the step dependency's id
`static java.lang.String` | `ATTRIB_STEPSEQ_FROM_STEP` db level: name of the attribute holding the from step's id
`static java.lang.String` | `ATTRIB_STEPSEQ_TO_STEP` db level: name of the attribute holding the dependent step's id
`static java.lang.String` | `DB_TRASH_TABLENAME`
`static java.lang.String` | `DBT_TYPE_FUNCTION`
`static java.lang.String` | `DBT_TYPE_INDEX`
`static java.lang.String` | `DBT_TYPE_TABLE`
`static java.lang.String` | `DBT_TYPE_VIEW`
`static java.lang.String` | `M4_TABLE_NAME` name of the corresponding m4 table
`static java.lang.String` | `M4_TABLE_NAME_STEPSEQ` The name of the corresponding M4 table.
`static java.lang.String` | `M4_TRASH_ID` The M4 trash table's primary key attribute name.
`static java.lang.String` | `M4_TRASH_OBJ_TABLE` The M4 trash table's attribute holding the referenced object's M4 table name.
`static java.lang.String` | `M4_TRASH_STEP_ID` The M4 trash table's attribute holding the object's creating Step ID.
`static java.lang.String` | `M4_TRASH_TABLE` The name of the M4 table holding the compiler's garbage collection information of M4 objects.
`static M4Info` | `m4Info` Cache for getM4Info()
`static InterM4Communicator` | `step2par` Helper classes instance for inter M4 communication

Fields inherited from class edu.udo.cs.miningmart.m4.core.GraphicalM4Object
`graph2coord`

Fields inherited from class edu.udo.cs.miningmart.m4.core.M4Data
`myDocumentation`

Fields inherited from class edu.udo.cs.miningmart.m4.core.M4Object
`myId, myName`

Fields inherited from interface edu.udo.cs.miningmart.m4.utils.XmlInfo
`M4_XML_VERSION, TAG_COLLECTION, TAG_DOUBLE, TAG_INTEGER, TAG_LONG, TAG_M4_ID, TAG_SHORT, TAG_STRING, TAG_XML_ID`

Fields inherited from interface edu.udo.cs.miningmart.m4.utils.M4Table
`NOT_NULL`

Constructor Summary
`Step(DB m4Db)`

Method Summary
`void` | `addDatabaseObjectToTrash(java.lang.String objectName, java.lang.String schemaName, java.lang.String objectType)` Helper method to store the information about a database object in the trash index
`void` | `addParameterTuple(Parameter par)` Adds a parameter to this step's parameter list on tuple level.
`void` | `addPredecessor(Step step)`
`void` | `addSuccessor(Step step)` This method should only be called from the method `Case.addStepDependency(Step, Step)`!
`void` | `addToTrash(M4Data m4data)` This method should only be called by the compiler after a new M4 object has been created by calling a constructor.
`boolean` | `belongsToChainOrSubChain(Chain theChain)` This method returns TRUE if this Step belongs to the given Chain, or to a direct or indirect subchain of the given Chain.
`boolean` | `checkInputParameterEntries()` This method checks, for the current set of values of input parameters in this step, whether they fulfill all parameter contraints.
`boolean` | `checkOutputParameterEntries()` This method checks, for the current set of values of output parameters in this step, whether they fulfill all parameter contraints.
`Step` | `copy(Case newCase, Chain newChain)` Make and return a copy of this Step that is attached to the given Chain in the given Case.
`void` | `createOutput(OpParam theOpParam, java.util.Collection theNames)` This method must only be called if no output objects existed for this Step before!
`Parameter` | `createParameterTuple(java.lang.String name, ParameterObject object, long number, int loopNumber, java.lang.String ioType)` Creates a Parameter that will be connected to this Step.
`Parameter` | `createValueParameterTuple(java.lang.String value, java.lang.String datatype, java.lang.String name, long number, int loopNumber, java.lang.String type)` Creates a Parameter and a Value that will be connected to this Step.
`void` | `deleteDbTrash()` This method takes care of deleting trash objects from the business data schema.
`protected void` | `deleteLocal()` Overwrites the superclass method to ensure that the cross table entries are deleted first
`void` | `deleteM4Trash()` This method realizes the M4Compiler's garbage collection on the objects created during compilation of this `Step`.
`void` | `deleteSoon()` Overwrites the superclass method because the output that this step creates must be deleted, too.
`boolean` | `dependencyExists(Chain toChain)` Checks if this step has a successor among any of the steps in the given chain, including steps in any direct or indirect subchain of the given chain.
`EstimatedStatistics` | `estimateStatisticsForOutputConcept()`
`java.util.Collection` | `getAllInputConcepts()` This method returns all concepts that are input concept to this step's operator, even those that are attached to an input relation but not modelled by an input parameter.
`java.util.Collection` | `getAllInputRelations()` Returns all relations that are a parameter object of an input parameter of this Step.
`java.util.Collection` | `getAllPredecessors()` Returns only the DIRECT predecessors!
`long` | `getCaseId()` Getter method.
`java.util.Collection` | `getCrossReferences()`
`java.util.Collection` | `getDependentObjects()` This method is part of the XML-serialization and needs to be implemented by all `M4Data` sub-classes that need to be serialized.
`java.lang.String` | `getIdAttributeName()`
`java.util.Collection` | `getInputConceptsThatAreParameters()` This method returns all concepts that are input concept to this step's operator.
`BaseAttribute[][]` | `getKeysOfRelationshipAssertion()` This method checks if this Step creates a relationship from or to its output concept.
`int` | `getLoopCount()` Getter method.
`M4Info` | `getM4Info()`
`java.lang.String` | `getM4TableName()`
`java.util.Collection` | `getM4Trash()` Active getter for the compiler's M4 Trash information.
`java.lang.String` | `getMultiStepCondition()` Getter method.
`long` | `getNumber()` Getter method.
`protected java.util.Collection` | `getObjectsInNamespace(java.lang.Class typeOfObjects)` This method returns the objects of the specified type that form a namespace in the scope of this M4Data object.
`Concept` | `getOutputConcept()` Returns the output concept of this step, if it exists, and NULL otherwise.
`java.util.Collection` | `getParameter(OpParam theOpParam, int loopNr)` Returns the instance of the given `OpParam` that is currently set in this Step.
`ParamDict` | `getParameterDictionary(boolean expectingAllParamsToExist)` Active getter for the parameters of this `Step` in aggregated form.
`Parameter` | `getParameterTuple(java.lang.String name, int loopNr)` Return the parameter (tuple) of this step with the given name and loop number.
`java.util.Collection` | `getParameterTuples()` Active getter for the parameters of this `Step` in tuple-wise form (not aggregated by `OpParam` arrays!).
`java.util.Collection` | `getPossibleConceptsForParam(OpParam opParam)` Whenever an input of type BaseAttribute or MultiColumnFeature is expected the possible Concepts the Features may come from are explicitly given by constraints.
`java.util.Collection` | `getPossibleInputConcepts()` This method finds all Concepts that are either of type DB or are created as an output concept by a Step that precedes this Step in the chain.
`Step` | `getPredecessor()` Returns the direct predecessor.
`java.util.Collection` | `getResultingDataModel()` Returns a collection of concepts; these concepts represent the data model that the current Case produced up to this Step.
`java.util.Collection` | `getSuccessors()` Active getter for this `Step`'s successors.
`Case` | `getTheCase()` Getter method.
`Chain` | `getTheChain()` Getter method.
`Operator` | `getTheOperator()` Active getter method.
`M4Info` | `getXmlInfo()`
`protected boolean` | `hasCoordinates()` `Step`s have coordinates.
`boolean` | `hasPredecessorOutsideChain()` This method returns TRUE if this Step has a direct predecessor that does not belong to the same chain, nor one of its subchains.
`boolean` | `hasSuccessorOutsideChain()` This method returns TRUE if this Step has a direct successor that does not belong to the same chain, nor one of its subchains.
`boolean` | `inputChangeCanAffectOutput(OpParam theOpParam)` Returns TRUE iff a change to the given input OpParam can have any effect on the output parameters of this Step.
`boolean` | `isCompiled()` After a `Step` has been successfully compiled a flag in the M4 database is set, which is removed by the next garbage collection.
`boolean` | `isContainedInInputConcept(OpParam outputFeature)` This method must only be called for an output feature.
`boolean` | `isRelationallyValid()`
`boolean` | `isVisible(Feature theFeature)` This method returns TRUE iff the given Feature may be displayed in the input concept, or in a list of Features to choose from for a parameter.
`void` | `primitiveAddSuccessor(Step step)` Same as `addSuccessor(Step) but without setting any of the dirty flags.`
`void` | `primitiveSetCase(Case myCase)` Primitive setter method.
`void` | `primitiveSetChain(Chain chain)` Primitive setter method.
`void` | `print()` Method to print data about this M4Object.
`ParamDict` | `readParametersFromDB(boolean paramsMustExist)` Reads all of this step's parameters specified in table OP_PARAM_T for the current `Step` and stores them in a parameter dictionary.
`protected void` | `removeAllM4References()` This method is to be written in a way that it can still be called during updateDatabase()!
`void` | `removeAllParameterTuples()`
`void` | `removeParameter(java.lang.String parName)`
`boolean` | `removeParameterTuple(Parameter par)` Removes a parameter from this step's parameter list on tuple level.
`void` | `removePredecessor()` Removes the link to the specified Predecessor.
`boolean` | `removeSuccessor(Step step)` Removes a `Step` from this `Step`'s `Collection` of dependent `Step`s.
`boolean` | `removeSuccessor(java.lang.String name)` Removes a `Step` from this `Step`'s `Collection` of dependent `Step`s.
`void` | `renameOutput(OpParam theOpParam, java.util.Collection theNames)` This method changes the names of the output parameter objects; the latter are assumed to exist.
`void` | `setCompiled()` This method may only be called by the control structure!
`void` | `setLoopCount(int lc)` Setter method.
`void` | `setMultiStepCondition(java.lang.String msc)` Setter method.
`void` | `setNumber(long nr)` Setter method.
`void` | `setParameter(OpParam theOpParam, java.util.Collection theParameterObjects, int loopNr)` An empty `Collection` for `theParameterObjects` makes this method remove the parameter (as otherwise the type would be unclear, anyway).
`protected void` | `setSuccessors(java.util.Collection newSuccessors)` This method is mainly to be used by the XML deserialization mechanism, but it robust enough not to crash if the Case is not yet set, and it maintains the Steps' order within the Case by using the Case's `addStepDependency(Step, Step)` method.
`void` | `setTheCase(Case myCase)` Setter method.
`void` | `setTheChain(Chain chain)` Setter method.
`void` | `setTheOperator(Operator theOp)` Setter method.
`protected void` | `storeLocal()` This method stores the `Collection` of dependent `Step`s to the database (table STEPSEQUENCE_T) if there were any updates to that `Collection`.
`void` | `updateOutput(OpParam theOpParam)` This method must only be called if any input parameter of this Step was changed.
`boolean` | `usesLoopsForCoordination()` This method returns TRUE if the coordinated parameters in this step (ab)use the loop mechanism for their coordination.

Methods inherited from class edu.udo.cs.miningmart.m4.core.GraphicalM4Object
`getCoordinates, getPoint, primitiveSetCoordinates, setCoordinatesDirty, setName, setPoint`

Methods inherited from class edu.udo.cs.miningmart.m4.core.M4Data
`exportLocal, genericGetter, genericSetter, getDocumentation, getObjectsReferencingMe, getObjectsReferencingMe, getObjectTag, getValidName, getXmlIdTag, getXmlVersion, hasDeleteStatus, importLocal, isDirty, isWaitingForDelete, primitiveGetDocObject, primitiveSetDocObject, readFromDb, readFromDbLocal, removeDocObject, removeFromDb, removeSetFromDb, setDirty, setDocumentation, setId, updateObjectsFromTable`

Methods inherited from class edu.udo.cs.miningmart.m4.core.M4Object
`compareTo, doPrint, doPrint, equals, executeBusinessSingleValueSqlRead, executeBusinessSingleValueSqlReadL, executeBusinessSqlRead, executeBusinessSqlWrite, executeM4SingleValueSqlRead, executeM4SingleValueSqlReadL, executeM4SqlRead, executeM4SqlWrite, getCasePrintObject, getId, getM4Db, getM4ObjectFromCache, getName, getNextM4SequenceValue, isNew, load, putM4ObjectToCache, replaceSpacesInName`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface edu.udo.cs.miningmart.m4.GraphicalM4Object
`getPoint, setPoint`

Methods inherited from interface edu.udo.cs.miningmart.m4.M4Data
`getDocumentation, getValidName, isDirty, isWaitingForDelete, setDocumentation`

Methods inherited from interface edu.udo.cs.miningmart.m4.M4Object
`doPrint, doPrint, equals, executeBusinessSingleValueSqlRead, executeBusinessSingleValueSqlReadL, executeBusinessSqlRead, executeBusinessSqlWrite, executeM4SingleValueSqlRead, executeM4SingleValueSqlReadL, executeM4SqlRead, executeM4SqlWrite, getCasePrintObject, getId, getM4Db, getM4ObjectFromCache, getName, getNextM4SequenceValue, isNew, load, putM4ObjectToCache, replaceSpacesInName, setId, setName`

Methods inherited from interface edu.udo.cs.miningmart.m4.utils.XmlInfo
`doPrint, doPrint, exportLocal, genericGetter, genericSetter, getObjectTag, getXmlIdTag, getXmlVersion, importLocal`

Field Detail

### M4_TABLE_NAME

    public static final java.lang.String M4_TABLE_NAME

  name of the corresponding m4 table

  See Also:
    Constant Field Values

### ATTRIB_STEP_ID

    public static final java.lang.String ATTRIB_STEP_ID

  db level id of this object is realized by this attribute

  See Also:
    Constant Field Values

### ATTRIB_STEP_NAME

    public static final java.lang.String ATTRIB_STEP_NAME

  db level name of this object is realized by this attribute

  See Also:
    Constant Field Values

### ATTRIB_CHAIN_ID

    public static final java.lang.String ATTRIB_CHAIN_ID

  db level reference to the embedding chain by this attribute

  See Also:
    Constant Field Values

### ATTRIB_CASE_ID

    public static final java.lang.String ATTRIB_CASE_ID

  db level reference to the embedding case by this attribute

  See Also:
    Constant Field Values

### ATTRIB_OPERATOR_ID

    public static final java.lang.String ATTRIB_OPERATOR_ID

  db level reference to the step's operator

  See Also:
    Constant Field Values

### ATTRIB_NUM_OF_LOOPS

    public static final java.lang.String ATTRIB_NUM_OF_LOOPS

  db level: number of loops attribute

  See Also:
    Constant Field Values

### ATTRIB_STEP_NR

    public static final java.lang.String ATTRIB_STEP_NR

  db level: step number attribute

  See Also:
    Constant Field Values

### ATTRIB_MULTISTEP_COND

    public static final java.lang.String ATTRIB_MULTISTEP_COND

  db level: operator name attribute

  See Also:
    Constant Field Values

### step2par

    public static InterM4Communicator step2par

  Helper classes instance for inter M4 communication

### m4Info

    public static M4Info m4Info

  Cache for getM4Info()

### M4_TABLE_NAME_STEPSEQ

    public static final java.lang.String M4_TABLE_NAME_STEPSEQ

  The name of the corresponding M4 table.

  See Also:
    Constant Field Values

### ATTRIB_STEPSEQ_DEPENDENCY_ID

    public static final java.lang.String ATTRIB_STEPSEQ_DEPENDENCY_ID

  db level: name of the attribute holding the step dependency's id

  See Also:
    Constant Field Values

### ATTRIB_STEPSEQ_FROM_STEP

    public static final java.lang.String ATTRIB_STEPSEQ_FROM_STEP

  db level: name of the attribute holding the from step's id

  See Also:
    Constant Field Values

### ATTRIB_STEPSEQ_TO_STEP

    public static final java.lang.String ATTRIB_STEPSEQ_TO_STEP

  db level: name of the attribute holding the dependent step's id

  See Also:
    Constant Field Values

### DB_TRASH_TABLENAME

    public static final java.lang.String DB_TRASH_TABLENAME

See Also:
  Constant Field Values

### ATTRIB_DBT_OBJTYPE

    public static final java.lang.String ATTRIB_DBT_OBJTYPE

See Also:
  Constant Field Values

### ATTRIB_DBT_OBJNAME

    public static final java.lang.String ATTRIB_DBT_OBJNAME

See Also:
  Constant Field Values

### ATTRIB_DBT_SCHEMA

    public static final java.lang.String ATTRIB_DBT_SCHEMA

See Also:
  Constant Field Values

### ATTRIB_DBT_STEPID

    public static final java.lang.String ATTRIB_DBT_STEPID

See Also:
  Constant Field Values

### DBT_TYPE_FUNCTION

    public static final java.lang.String DBT_TYPE_FUNCTION

See Also:
  Constant Field Values

### DBT_TYPE_VIEW

    public static final java.lang.String DBT_TYPE_VIEW

See Also:
  Constant Field Values

### DBT_TYPE_TABLE

    public static final java.lang.String DBT_TYPE_TABLE

See Also:
  Constant Field Values

### DBT_TYPE_INDEX

    public static final java.lang.String DBT_TYPE_INDEX

See Also:
  Constant Field Values

### M4_TRASH_TABLE

    public static final java.lang.String M4_TRASH_TABLE

  The name of the M4 table holding the compiler's garbage collection information of M4 objects.

  See Also:
    Constant Field Values

### M4_TRASH_ID

    public static final java.lang.String M4_TRASH_ID

  The M4 trash table's primary key attribute name.

  See Also:
    Constant Field Values

### M4_TRASH_OBJ_TABLE

    public static final java.lang.String M4_TRASH_OBJ_TABLE

  The M4 trash table's attribute holding the referenced object's M4 table name.

  See Also:
    Constant Field Values

### M4_TRASH_STEP_ID

    public static final java.lang.String M4_TRASH_STEP_ID

  The M4 trash table's attribute holding the object's creating Step ID.

  See Also:
    Constant Field Values

Constructor Detail

### Step

    public Step(DB m4Db)

See Also:
  `edu.udo.cs.miningmart.m4.core.M4Data#Constructor`

Method Detail

### getM4TableName

    public java.lang.String getM4TableName()

  Specified by:
    `getM4TableName` in interface `M4Table`
  See Also:
    `M4Table.getM4TableName()`

### getIdAttributeName

    public java.lang.String getIdAttributeName()

  Specified by:
    `getIdAttributeName` in interface `M4Table`
  See Also:
    `M4Table.getIdAttributeName()`

### getM4Info

    public M4Info getM4Info()

  Specified by:
    `getM4Info` in interface `M4Table`
  See Also:
    `M4Table.getM4Info()`

### getXmlInfo

    public M4Info getXmlInfo()

  Specified by:
    `getXmlInfo` in interface `XmlInfo`
  Returns:
    a `M4Info` object with the information of all XML fields of `this` object.
  See Also:
    `XmlInfo.getXmlInfo()`

### print

    public void print()

  Description copied from interface: `M4Object`
  Method to print data about this M4Object.

  Specified by:
    `print` in interface `M4Object`
  Overrides:
    `print` in class `GraphicalM4Object`
  See Also:
    `M4Object.print()`

### getObjectsInNamespace

    protected java.util.Collection getObjectsInNamespace(java.lang.Class typeOfObjects)
                                                  throws M4Exception

  Description copied from class: `M4Data`
  This method returns the objects of the specified type that form a namespace in the scope of this M4Data object. For example, a Concept's namespace for the type BaseAttribute is the Collection of all BaseAttributes for this Concept. Many M4Data objects never have a namespace, they return `null`. If a namespace could exist but doesn't, an empty Collection is returned.

  Specified by:
    `getObjectsInNamespace` in class `M4Data`
  Parameters:
    `typeOfObjects` - the type of objects that form the namespace
  Returns:
    a Collection of objects of type `typeOfObjects`, or `null`.
  Throws:
    `M4Exception`
  See Also:
    `M4Data.getObjectsInNamespace(Class)`

### getTheOperator

    public Operator getTheOperator()

  Active getter method.

  Specified by:
    `getTheOperator` in interface `Step`
  Returns:
    the M4 operator object related to this `Step`

### setTheOperator

    public void setTheOperator(Operator theOp)

  Setter method. There is no back-reference from `Operator`, so we do not need another primitive setter.

  Specified by:
    `setTheOperator` in interface `Step`
  Parameters:
    `theOp` - The new operator

### getTheChain

    public Chain getTheChain()

  Getter method.

  Specified by:
    `getTheChain` in interface `Step`
  Returns:
    the `Chain` of this `Step`

### setTheChain

    public void setTheChain(Chain chain)
                     throws M4Exception

  Setter method.

  Specified by:
    `setTheChain` in interface `Step`
  Parameters:
    `chain` - The new chain
  Throws:
    `M4Exception`

### primitiveSetChain

    public void primitiveSetChain(Chain chain)

  Primitive setter method. Do not use it!

### getCaseId

    public long getCaseId()

  Getter method.

  Specified by:
    `getCaseId` in interface `Step`
  Returns:
    the id

### getNumber

    public long getNumber()

  Getter method.

  Specified by:
    `getNumber` in interface `Step`
  Returns:
    the number

### setTheCase

    public void setTheCase(Case myCase)
                    throws M4Exception

  Setter method.

  Specified by:
    `setTheCase` in interface `Step`
  Parameters:
    `myCase` - The new case
  Throws:
    `M4Exception`

### primitiveSetCase

    public void primitiveSetCase(Case myCase)

  Primitive setter method. Do not uise it!

  Parameters:
    `myCase` - The `Case` to be set.

### setNumber

    public void setNumber(long nr)

  Setter method.

  Specified by:
    `setNumber` in interface `Step`
  Parameters:
    `nr` - the new step number

### getLoopCount

    public int getLoopCount()

  Getter method.

  Specified by:
    `getLoopCount` in interface `Step`
  Returns:
    the loop count

### getMultiStepCondition

    public java.lang.String getMultiStepCondition()

  Getter method.

  Specified by:
    `getMultiStepCondition` in interface `Step`
  Returns:
    the multistep condition

### addParameterTuple

    public void addParameterTuple(Parameter par)
                           throws M4Exception

  Adds a parameter to this step's parameter list on tuple level.

  Specified by:
    `addParameterTuple` in interface `Step`
  Parameters:
    `par` - the `Parameter` object representing the parameter tuple
  Throws:
    `M4Exception`

### removeParameterTuple

    public boolean removeParameterTuple(Parameter par)
                                 throws M4Exception

  Removes a parameter from this step's parameter list on tuple level.

  Specified by:
    `removeParameterTuple` in interface `Step`
  Parameters:
    `par` - the `Parameter` object representing the parameter tuple
  Returns:
    `true` iff the object was part of the parameter list and could be removed
  Throws:
    `M4Exception`

### removeAllParameterTuples

    public void removeAllParameterTuples()
                                  throws M4Exception

  Specified by:
    `removeAllParameterTuples` in interface `Step`
  Throws:
    `M4Exception`

### removeParameter

    public void removeParameter(java.lang.String parName)
                         throws M4Exception

  Specified by:
    `removeParameter` in interface `Step`
  Throws:
    `M4Exception`

### setLoopCount

    public void setLoopCount(int lc)
                      throws M4Exception

  Setter method.

  Specified by:
    `setLoopCount` in interface `Step`
  Parameters:
    `lc` - the new loop count
  Throws:
    `M4Exception`

### setMultiStepCondition

    public void setMultiStepCondition(java.lang.String msc)

  Setter method.

  Specified by:
    `setMultiStepCondition` in interface `Step`
  Parameters:
    `msc` - The new multistep condition

### getTheCase

    public Case getTheCase()

  Getter method.

  Specified by:
    `getTheCase` in interface `Step`
  Returns:
    this step's case

### getParameterTuples

    public java.util.Collection getParameterTuples()
                                            throws M4Exception

  Active getter for the parameters of this `Step` in tuple-wise form (not aggregated by `OpParam` arrays!).

  Specified by:
    `getParameterTuples` in interface `Step`
  Returns:
    Returns a Collection of `Parameter` objects
  Throws:
    `M4Exception`

### getSuccessors

    public java.util.Collection getSuccessors()
                                       throws M4Exception

  Active getter for this `Step`'s successors.

  Specified by:
    `getSuccessors` in interface `Step`
  Returns:
    `Collection` of dependent `Step` objects
  Throws:
    `M4Exception`

### addSuccessor

    public void addSuccessor(Step step)
                      throws M4Exception

  This method should only be called from the method `Case.addStepDependency(Step, Step)`! Please use that method instead of this one, because it also efficiently reorders the steps! Adds a `Step` to this `Step`'s `Collection` of dependent `Step`s.

  Specified by:
    `addSuccessor` in interface `Step`
  Parameters:
    `step` - the `Step` to add
  Throws:
    `M4Exception`

### primitiveAddSuccessor

    public void primitiveAddSuccessor(Step step)
                               throws M4Exception

  Same as `addSuccessor(Step) but without setting any of the dirty flags. This method should only be used while loading or if you know what you are doing!

  `
  Throws:
    `M4Exception`

### removeSuccessor

    public boolean removeSuccessor(Step step)
                            throws M4Exception

  Removes a `Step` from this `Step`'s `Collection` of dependent `Step`s.

  Specified by:
    `removeSuccessor` in interface `Step`
  Parameters:
    `step` - the `Step` to remove
  Returns:
    `true` iff the `Step` was found in the `Collection` and could be successfully removed
  Throws:
    `M4Exception`

### removeSuccessor

    public boolean removeSuccessor(java.lang.String name)
                            throws M4Exception

  Removes a `Step` from this `Step`'s `Collection` of dependent `Step`s.

  Specified by:
    `removeSuccessor` in interface `Step`
  Parameters:
    `name` - the name of the step to remove
  Returns:
    `true` iff the `Step` was found in the `Collection` and could be successfully removed
  Throws:
    `M4Exception`

### dependencyExists

    public boolean dependencyExists(Chain toChain)
                             throws M4Exception

  Description copied from interface: `Step`
  Checks if this step has a successor among any of the steps in the given chain, including steps in any direct or indirect subchain of the given chain.

  Specified by:
    `dependencyExists` in interface `Step`
  Parameters:
    `toChain` - the given chain
  Returns:
    TRUE iff this step has a successor among any of the steps in the given chain.
  Throws:
    `M4Exception`
  See Also:
    `Step.dependencyExists(Chain)`

### isRelationallyValid

    public boolean isRelationallyValid()

  Specified by:
    `isRelationallyValid` in interface `Step`

### addPredecessor

    public void addPredecessor(Step step)
                        throws M4Exception

  Specified by:
    `addPredecessor` in interface `Step`
  Throws:
    `M4Exception`
  See Also:
    `addPredecessor(Step)`

### deleteSoon

    public void deleteSoon()
                    throws M4Exception

  Overwrites the superclass method because the output that this step creates must be deleted, too.

  Specified by:
    `deleteSoon` in interface `M4Data`
  Overrides:
    `deleteSoon` in class `GraphicalM4Object`
  Throws:
    `M4Exception`

### deleteLocal

    protected void deleteLocal()
                        throws M4Exception

  Overwrites the superclass method to ensure that the cross table entries are deleted first

  Overrides:
    `deleteLocal` in class `GraphicalM4Object`
  Throws:
    `M4Exception`

### readParametersFromDB

    public ParamDict readParametersFromDB(boolean paramsMustExist)
                                   throws M4Exception

  Reads all of this step's parameters specified in table OP_PARAM_T for the current `Step` and stores them in a parameter dictionary. This is a service method for the compiler, aggregating all parameters to arrays as specified by the corresponding `OpParam` objects!

  Parameters:
    `paramsMustExist` - If TRUE, it means that an exception ought to be thrown if not all parameters are set. This parameter serves to enable the new GUI to set the parameters initially.
  Throws:
    `M4Exception`

### getCrossReferences

    public java.util.Collection getCrossReferences()
                                            throws M4Exception

  Specified by:
    `getCrossReferences` in interface `Step`
  Returns:
    a `Collection` of `Step` to `Step` dependencies for sequentializing all `Step`s before writing updates to the database.
  Throws:
    `M4Exception`

### hasCoordinates

    protected boolean hasCoordinates()

  `Step`s have coordinates.

  Specified by:
    `hasCoordinates` in class `GraphicalM4Object`

### storeLocal

    protected void storeLocal()
                       throws M4Exception

  This method stores the `Collection` of dependent `Step`s to the database (table STEPSEQUENCE_T) if there were any updates to that `Collection`.

  Overrides:
    `storeLocal` in class `GraphicalM4Object`
  Throws:
    `M4Exception`

### setSuccessors

    protected void setSuccessors(java.util.Collection newSuccessors)
                          throws M4Exception

  This method is mainly to be used by the XML deserialization mechanism, but it robust enough not to crash if the Case is not yet set, and it maintains the Steps' order within the Case by using the Case's `addStepDependency(Step, Step)` method.

  Parameters:
    `newSuccessors` - a `Collection` of successors `Step`s
  Throws:
    `M4Exception`

### removeAllM4References

    protected void removeAllM4References()
                                  throws M4Exception

  This method is to be written in a way that it can still be called during updateDatabase()! You may only set objects dirty, which are updated after and deleted before `Step`s.

  Specified by:
    `removeAllM4References` in class `M4Data`
  Throws:
    `M4Exception`
  See Also:
    `M4Data.removeAllM4References()`

### getDependentObjects

    public java.util.Collection getDependentObjects()
                                             throws M4Exception

  Description copied from class: `M4Data`
  This method is part of the XML-serialization and needs to be implemented by all `M4Data` sub-classes that need to be serialized.

  Specified by:
    `getDependentObjects` in interface `XmlInfo`
  Overrides:
    `getDependentObjects` in class `GraphicalM4Object`
  Throws:
    `M4Exception`
  See Also:
    `M4Data.getDependentObjects()`

### getM4Trash

    public java.util.Collection getM4Trash()
                                    throws M4Exception

  Active getter for the compiler's M4 Trash information.

  Specified by:
    `getM4Trash` in interface `Step`
  Returns:
    a `Collection` of `M4Data` objects created by the M4 compiler that have to be removed before this `Step` can be compiled anew.
  Throws:
    `M4Exception`

### addToTrash

    public void addToTrash(M4Data m4data)
                    throws M4Exception

  This method should only be called by the compiler after a new M4 object has been created by calling a constructor.

  Specified by:
    `addToTrash` in interface `Step`
  Parameters:
    `m4data` - the `M4Data` object to be added to the table `M4TRASH_T` for being garbage collected before compiling this `Step` or any of its predecessors.
  Throws:
    `M4Exception`

### deleteM4Trash

    public void deleteM4Trash()
                       throws M4Exception

  This method realizes the M4Compiler's garbage collection on the objects created during compilation of this `Step`.

  Specified by:
    `deleteM4Trash` in interface `Step`
  Throws:
    `M4Exception`

### addDatabaseObjectToTrash

    public void addDatabaseObjectToTrash(java.lang.String objectName,
                                         java.lang.String schemaName,
                                         java.lang.String objectType)
                                  throws M4Exception

  Helper method to store the information about a database object in the trash index

  Specified by:
    `addDatabaseObjectToTrash` in interface `Step`
  Throws:
    `M4Exception`

### deleteDbTrash

    public void deleteDbTrash()
                       throws M4Exception

  This method takes care of deleting trash objects from the business data schema.

  Specified by:
    `deleteDbTrash` in interface `Step`
  Throws:
    `M4Exception`

### isCompiled

    public boolean isCompiled()
                       throws M4Exception

  After a `Step` has been successfully compiled a flag in the M4 database is set, which is removed by the next garbage collection. This method checks, if this flag is set.

  Specified by:
    `isCompiled` in interface `Step`
  Returns:
    `true` iff this `Step` has been successfully compiled and no garbage collection involving this `Step` has been run afterwards.
  Throws:
    `M4Exception`

### setCompiled

    public void setCompiled()
                     throws M4Exception

  This method may only be called by the control structure! It marks this `Step` as successfully compiled. This information is used when it is checked for succeeding `Step`s, if all of the dependent resources are already available.

  Specified by:
    `setCompiled` in interface `Step`
  Throws:
    `M4Exception`

### getPredecessor

    public Step getPredecessor()
                        throws M4Exception

  Returns the direct predecessor.

  Throws:
    `M4Exception`
  See Also:
    `edu.udo.cs.miningmart.m4.Step#getPredecessor()`

### getAllPredecessors

    public java.util.Collection getAllPredecessors()
                                            throws M4Exception

  Returns only the DIRECT predecessors!

  Specified by:
    `getAllPredecessors` in interface `Step`
  Throws:
    `M4Exception`
  See Also:
    `getAllPredecessors()`

### belongsToChainOrSubChain

    public boolean belongsToChainOrSubChain(Chain theChain)
                                     throws M4Exception

  Description copied from interface: `Step`
  This method returns TRUE if this Step belongs to the given Chain, or to a direct or indirect subchain of the given Chain.

  Specified by:
    `belongsToChainOrSubChain` in interface `Step`
  Parameters:
    `theChain` - the given Chain
  Returns:
    TRUE iff this Step belongs to the given Chain or one of its (direct or indirect) subchains.
  Throws:
    `M4Exception`
  See Also:
    `Step.belongsToChainOrSubChain(Chain)`

### hasPredecessorOutsideChain

    public boolean hasPredecessorOutsideChain()
                                       throws M4Exception

  Description copied from interface: `Step`
  This method returns TRUE if this Step has a direct predecessor that does not belong to the same chain, nor one of its subchains.

  Specified by:
    `hasPredecessorOutsideChain` in interface `Step`
  Returns:
    TRUE if a predecessor of this Step exists outside this Step's Chain
  Throws:
    `M4Exception`
  See Also:
    `Step.hasPredecessorOutsideChain()`

### hasSuccessorOutsideChain

    public boolean hasSuccessorOutsideChain()
                                     throws M4Exception

  Description copied from interface: `Step`
  This method returns TRUE if this Step has a direct successor that does not belong to the same chain, nor one of its subchains.

  Specified by:
    `hasSuccessorOutsideChain` in interface `Step`
  Returns:
    TRUE if a successor of this Step exists outside this Step's Chain
  Throws:
    `M4Exception`
  See Also:
    `Step.hasSuccessorOutsideChain()`

### removePredecessor

    public void removePredecessor()
                           throws M4Exception

  Description copied from interface: `Step`
  Removes the link to the specified Predecessor.

  Specified by:
    `removePredecessor` in interface `Step`
  Throws:
    `M4Exception`
  See Also:
    `edu.udo.cs.miningmart.m4.Step#removePredecessor(String)`

### getParameterTuple

    public Parameter getParameterTuple(java.lang.String name,
                                       int loopNr)
                                throws M4Exception

  Description copied from interface: `Step`
  Return the parameter (tuple) of this step with the given name and loop number.

  Specified by:
    `getParameterTuple` in interface `Step`
  Parameters:
    `name` - the Name
    `loopNr` - the loop number as in M4
  Throws:
    `M4Exception`

### createParameterTuple

    public Parameter createParameterTuple(java.lang.String name,
                                          ParameterObject object,
                                          long number,
                                          int loopNumber,
                                          java.lang.String ioType)
                                   throws M4Exception

  Description copied from interface: `Step`
  Creates a Parameter that will be connected to this Step. The name of the Parameter must be unique for this Step.

  Specified by:
    `createParameterTuple` in interface `Step`
  Parameters:
    `name` - The name for the new Parameter.
    `object` - The parameter object. It must be a Concept, Relationship , BaseAttribute, MultiColumnFeature or Value
    `number` - the parameter number
    `loopNumber` - the loop number
    `ioType` - the parameter type. Possible values are Parameter.TYPE_INPUT or Parameter.TYPE_OUTPUT
  Returns:
    The new Parameter object.
  Throws:
    `M4Exception`
  See Also:
    `Step#createParameter(String, M4Object, Operator, int, String)`

### createValueParameterTuple

    public Parameter createValueParameterTuple(java.lang.String value,
                                               java.lang.String datatype,
                                               java.lang.String name,
                                               long number,
                                               int loopNumber,
                                               java.lang.String type)
                                        throws M4Exception

  Description copied from interface: `Step`
  Creates a Parameter and a Value that will be connected to this Step. The name of the Parameter must be unique for this Step. A Value object will be created that will be connected to the created Parameter.

  Specified by:
    `createValueParameterTuple` in interface `Step`
  Parameters:
    `value` - The value for the Value Object.
    `datatype` - The datatype for the value. Use one of the predefined types available for @link DomainDatatype
    `name` - The name for the new Parameter.
    `number` - the parameter number
    `loopNumber` - the loop number
    `type` - the parameter type. Possible values are Parameter.TYPE_INPUT or Parameter.TYPE_OUTPUT
  Returns:
    The new Parameter object.
  Throws:
    `M4Exception`
  See Also:
    `Step#createValueParameter(String, String, String, Operator, int, String)`

### copy

    public Step copy(Case newCase,
                     Chain newChain)
              throws M4Exception

  Make and return a copy of this Step that is attached to the given Chain in the given Case.

  Specified by:
    `copy` in interface `Step`
  Throws:
    `M4Exception`
  See Also:
    `copy(Case, Chain)`

### getParameter

    public java.util.Collection getParameter(OpParam theOpParam,
                                             int loopNr)
                                      throws M4Exception

  Description copied from interface: `Step`
  Returns the instance of the given `OpParam` that is currently set in this Step. The returned `Collection` contains instances of `ParameterObject`s. For single parameters, only one object is contained in the collection; for array parameters, there can be more; for optional parameters, the collection can be empty.

  Specified by:
    `getParameter` in interface `Step`
  Parameters:
    `theOpParam` - an OpParam object specifying the parameter to be returned
    `loopNr` - the loop index for this parameter (ignored for non-loopable parameters)
  Returns:
    a Collection of ParameterObjects
  Throws:
    `M4Exception`
  See Also:
    `edu.udo.cs.miningmart.m4.Step#getParameter(OpParam)`

### setParameter

    public void setParameter(OpParam theOpParam,
                             java.util.Collection theParameterObjects,
                             int loopNr)
                      throws M4Exception

  An empty `Collection` for `theParameterObjects` makes this method remove the parameter (as otherwise the type would be unclear, anyway).

  Specified by:
    `setParameter` in interface `Step`
  Parameters:
    `theOpParam` - an OpParam object specifying the parameter to be set
    `theParameterObjects` - a Collection of ParameterObjects
    `loopNr` - the loop index for this parameter (ignored for non-loopable parameters)
  Throws:
    `M4Exception`
  See Also:
    `edu.udo.cs.miningmart.m4.Step#setParameter(OpParam, Collection)`

### checkInputParameterEntries

    public boolean checkInputParameterEntries()
                                       throws M4Exception

  Description copied from interface: `Step`
  This method checks, for the current set of values of input parameters in this step, whether they fulfill all parameter contraints. If not, an exception is thrown whose message can be used by the GUI as an error message for the user. The user can then correct the corresponding parameter entry, then this method should be called again, until it returns TRUE and does not throw an exception. The method can be called before the output is created, as it will only check the validity of the input parameter values.

  Specified by:
    `checkInputParameterEntries` in interface `Step`
  Returns:
    TRUE iff the current set of input parameters is valid for this step, in terms of all constraints holding for the parameters.
  Throws:
    `M4Exception` - An exception carrying a meaningful error message, intended to direct the user to improve the parameter settings.
  See Also:
    `Step.checkInputParameterEntries()`

### checkOutputParameterEntries

    public boolean checkOutputParameterEntries()
                                        throws M4Exception,
                                               UserError

  Description copied from interface: `Step`
  This method checks, for the current set of values of output parameters in this step, whether they fulfill all parameter contraints. If not, an exception is thrown whose message can be used by the GUI as an error message for the user. The user can then correct the corresponding parameter entry, then this method should be called again, until it returns TRUE and does not throw an exception.

  Specified by:
    `checkOutputParameterEntries` in interface `Step`
  Returns:
    TRUE iff the current set of output parameters is valid for this step, in terms of all constraints holding for the parameters.
  Throws:
    `M4Exception` - An exception carrying a meaningful error message, intended to direct the user to improve the parameter settings.
    `UserError`
  See Also:
    `Step.checkOutputParameterEntries()`

### getPossibleConceptsForParam

    public java.util.Collection getPossibleConceptsForParam(OpParam opParam)
                                                     throws M4Exception

  Description copied from interface: `Step`
  Whenever an input of type BaseAttribute or MultiColumnFeature is expected the possible Concepts the Features may come from are explicitly given by constraints. These constraints refer to the parameter names as used for the OpParam objects. This method returns a Collection of such OpParam names for input Concept parameters, e.g. "TheInputConcept".

  Specified by:
    `getPossibleConceptsForParam` in interface `Step`
  Parameters:
    `opParam` - the `OpParam` parameter referring to an input feature.
  Returns:
    a `Collection` consisting of the `OpParam` names (Strings) of the `Concept`s this feature is allowed to be selected from (due to an 'IN' constraint).
  Throws:
    `M4Exception`

### getPossibleInputConcepts

    public java.util.Collection getPossibleInputConcepts()
                                                  throws M4Exception

  Description copied from interface: `Step`
  This method finds all Concepts that are either of type DB or are created as an output concept by a Step that precedes this Step in the chain.

  Specified by:
    `getPossibleInputConcepts` in interface `Step`
  Returns:
    a Collection of Concepts
  Throws:
    `M4Exception`

### isContainedInInputConcept

    public boolean isContainedInInputConcept(OpParam outputFeature)
                                      throws M4Exception

  This method must only be called for an output feature. It is checked whether the output feature is constrained to be IN the input concept.

  Specified by:
    `isContainedInInputConcept` in interface `Step`
  Parameters:
    `outputFeature` - the OpParam representing the output feature
  Returns:
    TRUE iff the outputFeature's name should be selected from the names of the features of the input concept; FALSE if any new name can be given to the outputFeature.
  Throws:
    `M4Exception`

### getParameterDictionary

    public ParamDict getParameterDictionary(boolean expectingAllParamsToExist)
                                     throws M4Exception

  Active getter for the parameters of this `Step` in aggregated form.

  Specified by:
    `getParameterDictionary` in interface `Step`
  Parameters:
    `expectingAllParamsToExist` - If true, the caller expects the step to be fully parameterised.
  Returns:
    Returns a ParamDict
  Throws:
    `M4Exception`

### isVisible

    public boolean isVisible(Feature theFeature)
                      throws M4Exception

  Description copied from interface: `Step`
  This method returns TRUE iff the given Feature may be displayed in the input concept, or in a list of Features to choose from for a parameter. If FALSE is returned, it means that the given Feature is constructed by a FeatureConstruction operator in a different branch of the chain of steps, thus the Feature has no meaning for this step.

  Specified by:
    `isVisible` in interface `Step`
  Parameters:
    `theFeature` - The feature for which visibility is tested
  Returns:
    TRUE iff the feature can be used in this Step
  Throws:
    `M4Exception`
  See Also:
    `Step.isVisible(Feature)`

### usesLoopsForCoordination

    public boolean usesLoopsForCoordination()
                                     throws M4Exception

  Description copied from interface: `Step`
  This method returns TRUE if the coordinated parameters in this step (ab)use the loop mechanism for their coordination.

  Specified by:
    `usesLoopsForCoordination` in interface `Step`
  Returns:
    TRUE iff parameters of the coordinated parameter groups should be read and set using positive loop numbers.
  Throws:
    `M4Exception`
  See Also:
    `Step.usesLoopsForCoordination()`

### createOutput

    public void createOutput(OpParam theOpParam,
                             java.util.Collection theNames)
                      throws M4Exception

  This method must only be called if no output objects existed for this Step before! This method creates the output concept or output feature(s) for this step. What is to be created is specified by the given OpParam object. The name(s) for the new object(s) are given in the collection theNames. If there are both output concept AND output feature(s), please call this method FIRST with the concept!

  Specified by:
    `createOutput` in interface `Step`
  Parameters:
    `theOpParam` - the OpParam object specifying which output parameter is meant
    `theNames` - a Collection of Strings giving the name(s) for the new object(s)
  Throws:
    `M4Exception`

### getKeysOfRelationshipAssertion

    public BaseAttribute[][] getKeysOfRelationshipAssertion()
                                                     throws M4Exception

  This method checks if this Step creates a relationship from or to its output concept. If no, null is returned. If yes, it checks whether the output concept and its features have been created yet. If yes, it returns the BaseAttributes that form the keys of the relationship in a two-dimensional array.

  Specified by:
    `getKeysOfRelationshipAssertion` in interface `Step`
  Returns:
    a two-dimensional array of the BaseAttributes that are the keys of the relationship created by this Step, or null
  Throws:
    `M4Exception`

### renameOutput

    public void renameOutput(OpParam theOpParam,
                             java.util.Collection theNames)
                      throws M4Exception

  This method changes the names of the output parameter objects; the latter are assumed to exist. If the input parameters of the step have also changed, call the method `updateOutput` before this one.

  Specified by:
    `renameOutput` in interface `Step`
  Parameters:
    `theOpParam` - the OpParam object specifying which output parameter is meant
    `theNames` - a Collection of Strings giving the new name(s)
  Throws:
    `M4Exception`

### getInputConceptsThatAreParameters

    public java.util.Collection getInputConceptsThatAreParameters()
                                                           throws M4Exception

  This method returns all concepts that are input concept to this step's operator. (For Join and other operators, there can be more than one input concept.) Note that concepts attached to an input relation are not returned!

  Specified by:
    `getInputConceptsThatAreParameters` in interface `Step`
  Throws:
    `M4Exception`

### getAllInputConcepts

    public java.util.Collection getAllInputConcepts()
                                             throws M4Exception

  Description copied from interface: `Step`
  This method returns all concepts that are input concept to this step's operator, even those that are attached to an input relation but not modelled by an input parameter.

  Specified by:
    `getAllInputConcepts` in interface `Step`
  Throws:
    `M4Exception`

### getAllInputRelations

    public java.util.Collection getAllInputRelations()
                                              throws M4Exception

  Returns all relations that are a parameter object of an input parameter of this Step.

  Specified by:
    `getAllInputRelations` in interface `Step`
  Returns:
    a collection of relations
  Throws:
    `M4Exception`

### getOutputConcept

    public Concept getOutputConcept()
                             throws M4Exception

  Description copied from interface: `Step`
  Returns the output concept of this step, if it exists, and NULL otherwise.

  Specified by:
    `getOutputConcept` in interface `Step`
  Returns:
    a concept or NULL
  Throws:
    `M4Exception`
  See Also:
    `Step.getOutputConcept()`

### getResultingDataModel

    public java.util.Collection getResultingDataModel()
                                               throws M4Exception

  Returns a collection of concepts; these concepts represent the data model that the current Case produced up to this Step.

  Specified by:
    `getResultingDataModel` in interface `Step`
  Returns:
    a collection of concepts
  Throws:
    `M4Exception`

### updateOutput

    public void updateOutput(OpParam theOpParam)
                      throws M4Exception

  This method must only be called if any input parameter of this Step was changed. It ensures consistency of the output parameter objects with the input parameter objects. If the name of the output parameter has also changed, call the method `renameOutput` afterwards.

  Specified by:
    `updateOutput` in interface `Step`
  Parameters:
    `theOpParam` - the OpParam object specifying which output parameter is meant
  Throws:
    `M4Exception`

### inputChangeCanAffectOutput

    public boolean inputChangeCanAffectOutput(OpParam theOpParam)
                                       throws M4Exception

  Returns TRUE iff a change to the given input OpParam can have any effect on the output parameters of this Step. For example, if the NewRangeMin-parameter of a Scaling-Step is changed then the output parameters are not affected. In contrast, if the number of features selected in a manual FeatureSelection step changes, then the output concept must be updated.

  Specified by:
    `inputChangeCanAffectOutput` in interface `Step`
  Parameters:
    `theOpParam` - an input OpParam of the operator of this step
  Returns:
    TRUE if the output may have to be updated if the input was updated
  Throws:
    `M4Exception`

### estimateStatisticsForOutputConcept

    public EstimatedStatistics estimateStatisticsForOutputConcept()
                                                           throws M4Exception

  Throws:
    `M4Exception`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005