edu.udo.cs.miningmart.compiler.utils
Class AttributeCreationTool

java.lang.Object
  extended byedu.udo.cs.miningmart.compiler.utils.AttributeCreationTool
Direct Known Subclasses:
Binarify, PivotizeWithoutAggregation

public abstract class AttributeCreationTool
extends java.lang.Object

Abstract superclass for tools which create a MiningMart step that uses FeatureConstruction for a number of attributes, where this number is dependent on the number of values of another column. Direct known subclasses: Binarify, PivotizeWithoutAggregation

Version:
$Id: AttributeCreationTool.java,v 1.3 2006/04/11 14:10:19 euler Exp $
Author:
Timm Euler

Field Summary
protected  Case myCase
           
protected  Chain myChain
           
protected  DB myDB
           
protected  BaseAttribute myIndexBA
           
protected  Column myIndexColumn
           
protected  Columnset myInputColumnset
           
protected  Concept myInputConcept
           
protected  Operator myOperator
           
protected  Step myStep
           
protected  int numOfLoops
           
 
Constructor Summary
AttributeCreationTool(Concept inputConcept, BaseAttribute indexBA, Chain chain)
          Constructor for AttributeCreationTool.
 
Method Summary
protected  void createInputValueParameter(java.lang.String parameterName, int loopNr, java.lang.String value, int valCondDT, int parNr)
          Creates a new looped parameter for a given step.
protected  void createLoopForBa(BaseAttribute outputBa, java.lang.String targetValS)
          Creates another loop for the step created with createStep() and increments the loop number.
protected  java.util.Collection createOutputBAs()
          Create the new BaseAttributes that will be added to the input concept.
protected  void createParameterForNewStep(int loopNr, int parNr, java.lang.String parName, boolean isInput, ParameterObject theParObject)
          Create a new Parameter Object with the given specifications and attach it to the new Step.
protected  void createStep()
          Create a step with the operator GenericFeatureConstruction and the input concept as parameter TheInputConcept.
 void execute()
           
protected abstract  java.lang.String getConceptualDatatypeNameOfNewAttributes()
           
protected abstract  int getIdOfOperator()
           
protected abstract  java.lang.String getNameOfNewStep()
           
protected abstract  java.lang.String getNameOfOperator()
           
protected abstract  void insertSpecificParameters(int loopNr, int parNr, java.lang.String value)
          Create specific parameters for the new Step for the given loop number, starting with the given parameter number.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myDB

protected final DB myDB

myCase

protected final Case myCase

myInputConcept

protected final Concept myInputConcept

myChain

protected final Chain myChain

myInputColumnset

protected final Columnset myInputColumnset

myIndexColumn

protected final Column myIndexColumn

myIndexBA

protected final BaseAttribute myIndexBA

myStep

protected Step myStep

myOperator

protected Operator myOperator

numOfLoops

protected int numOfLoops
Constructor Detail

AttributeCreationTool

public AttributeCreationTool(Concept inputConcept,
                             BaseAttribute indexBA,
                             Chain chain)
                      throws M4Exception
Constructor for AttributeCreationTool. We expect the input concept, the BaseAttribute that contains the values that determine the number of output attributes, and the chain to which the new step will belong.

Parameters:
inputConcept - The Input Concept for the Step to be created.
indexBA - The index attribute, used to determine the number of output attributes
chain - The Chain to which to add the new Step
Method Detail

execute

public void execute()
             throws java.lang.Exception
Throws:
java.lang.Exception

getIdOfOperator

protected abstract int getIdOfOperator()
Returns:
the M4 Id of the operator that the new step uses

getNameOfOperator

protected abstract java.lang.String getNameOfOperator()
Returns:
the Name of the operator that the new step uses

getNameOfNewStep

protected abstract java.lang.String getNameOfNewStep()
Returns:
the name for the new Step; the Step number will be put before it

getConceptualDatatypeNameOfNewAttributes

protected abstract java.lang.String getConceptualDatatypeNameOfNewAttributes()
                                                                      throws M4Exception
Returns:
the name of the conceptual datatype that the new attributes will be given
Throws:
M4Exception

insertSpecificParameters

protected abstract void insertSpecificParameters(int loopNr,
                                                 int parNr,
                                                 java.lang.String value)
                                          throws M4Exception
Create specific parameters for the new Step for the given loop number, starting with the given parameter number.

Parameters:
loopNr - The loop number for which the specific parameters must be created
parNr - The first parameter number to be used; increment it for each additional parameter
value - The value of the index attribute for the given loop
Throws:
M4Exception

createStep

protected void createStep()
                   throws M4Exception
Create a step with the operator GenericFeatureConstruction and the input concept as parameter TheInputConcept.

Throws:
M4Exception

createLoopForBa

protected void createLoopForBa(BaseAttribute outputBa,
                               java.lang.String targetValS)
                        throws M4Exception
Creates another loop for the step created with createStep() and increments the loop number. The target BaseAttribute needs to exist.

Throws:
M4Exception

createOutputBAs

protected java.util.Collection createOutputBAs()
                                        throws M4Exception,
                                               M4CompilerError
Create the new BaseAttributes that will be added to the input concept.

Returns:
A Collection of arrays. element 0: a value of the index attribute as a String element 1: the corresponding new BaseAttribute
Throws:
M4Exception
M4CompilerError

createParameterForNewStep

protected void createParameterForNewStep(int loopNr,
                                         int parNr,
                                         java.lang.String parName,
                                         boolean isInput,
                                         ParameterObject theParObject)
                                  throws M4Exception
Create a new Parameter Object with the given specifications and attach it to the new Step.

Throws:
M4Exception

createInputValueParameter

protected void createInputValueParameter(java.lang.String parameterName,
                                         int loopNr,
                                         java.lang.String value,
                                         int valCondDT,
                                         int parNr)
                                  throws M4Exception
Creates a new looped parameter for a given step. The parameter is an input value, which is also created in the value_t table by this method.

Parameters:
parameterName - the name of the parameter in the PARAMETER_T table
loopNr - the number of the loop this parameter belongs to
value - the value to be passed to the operator. Use no quotation.
valCondDT - the conditional datatype of the value
parNr - the number of the parameter. Not really used by the compiler, but should be unique for each step.
Throws:
M4Exception


Copyright © 2001-2005