com.rapidminer.operator.ports.metadata
Class AttributeSetPrecondition

java.lang.Object
  extended by com.rapidminer.operator.ports.metadata.AbstractPrecondition
      extended by com.rapidminer.operator.ports.metadata.AttributeSetPrecondition
All Implemented Interfaces:
Precondition

public class AttributeSetPrecondition
extends AbstractPrecondition

This precondition might be used to ensure that a number of attributes is contained in the exampleSet at the given port. If the attribute(s) are not contained, only a warning will be given. Since this Precondition does not register errors beside the warning, it might be used in addition to the ExampleSetPrecondition. An implementation of the AttributeNameProvider might be used to provide the names of attribute unknown during creation time.

Author:
Sebastian Land

Nested Class Summary
static class AttributeSetPrecondition.AttributeNameProvider
           
 
Constructor Summary
AttributeSetPrecondition(InputPort inputPort, AttributeSetPrecondition.AttributeNameProvider attributeNameProvider, int typeOfRequiredAttributes, java.lang.String... requiredAttributeNames)
           
AttributeSetPrecondition(InputPort inputPort, AttributeSetPrecondition.AttributeNameProvider attributeNameProvider, java.lang.String... requiredAttributeNames)
           
AttributeSetPrecondition(InputPort inputPort, java.lang.String... requiredAttributeNames)
           
 
Method Summary
 void assumeSatisfied()
          Assume that the precondition is satisfied, i.e., artificially generate compatible meta data at the input port.
 void check(MetaData metaData)
          Checks whether the precondition is satisfied, registering a MetaDataError with the input port if not.
static AttributeSetPrecondition.AttributeNameProvider getAttributesByParameter(ParameterHandler handler, java.lang.String... parameterKeys)
           
static AttributeSetPrecondition.AttributeNameProvider getAttributesByParameterListEntry(ParameterHandler handler, java.lang.String parameterListKey, int entry)
          Returns an AttributeNameProvider that can extract one column of a ParameterTypeList for use them as attribute names.
 java.lang.String getDescription()
          Returns a human readable description.
 MetaData getExpectedMetaData()
          Returns the meta data required by this precondition.
 QuickFix getQuickFix(ExampleSetMetaData emd)
          Can be implemented by subclasses in order to specify quickfixes.
protected  java.lang.String[] getRequiredNames()
           
 boolean isCompatible(MetaData input, CompatibilityLevel level)
          Returns true if the given object is compatible with this precondition.
 void makeAdditionalChecks(ExampleSetMetaData emd)
          Can be implemented by subclasses.
 
Methods inherited from class com.rapidminer.operator.ports.metadata.AbstractPrecondition
createError, createError, getInputPort, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AttributeSetPrecondition

public AttributeSetPrecondition(InputPort inputPort,
                                java.lang.String... requiredAttributeNames)

AttributeSetPrecondition

public AttributeSetPrecondition(InputPort inputPort,
                                AttributeSetPrecondition.AttributeNameProvider attributeNameProvider,
                                java.lang.String... requiredAttributeNames)

AttributeSetPrecondition

public AttributeSetPrecondition(InputPort inputPort,
                                AttributeSetPrecondition.AttributeNameProvider attributeNameProvider,
                                int typeOfRequiredAttributes,
                                java.lang.String... requiredAttributeNames)
Method Detail

assumeSatisfied

public void assumeSatisfied()
Description copied from interface: Precondition
Assume that the precondition is satisfied, i.e., artificially generate compatible meta data at the input port. This method is used to check what output would be generated if the input was correctly delivered.


check

public void check(MetaData metaData)
Description copied from interface: Precondition
Checks whether the precondition is satisfied, registering a MetaDataError with the input port if not.

Parameters:
metaData - the delivered meta data. Note that this may differ from the meta data currently assigned to the input port for which this Precondition was created, e.g. for a ClooectionPrecondition.

getRequiredNames

protected final java.lang.String[] getRequiredNames()

getQuickFix

public QuickFix getQuickFix(ExampleSetMetaData emd)
                     throws UndefinedParameterError
Can be implemented by subclasses in order to specify quickfixes.

Throws:
UndefinedParameterError

makeAdditionalChecks

public void makeAdditionalChecks(ExampleSetMetaData emd)
Can be implemented by subclasses.


getDescription

public java.lang.String getDescription()
Description copied from interface: Precondition
Returns a human readable description.


isCompatible

public boolean isCompatible(MetaData input,
                            CompatibilityLevel level)
Description copied from interface: Precondition
Returns true if the given object is compatible with this precondition.


getExpectedMetaData

public MetaData getExpectedMetaData()
Description copied from interface: Precondition
Returns the meta data required by this precondition.


getAttributesByParameter

public static AttributeSetPrecondition.AttributeNameProvider getAttributesByParameter(ParameterHandler handler,
                                                                                      java.lang.String... parameterKeys)

getAttributesByParameterListEntry

public static AttributeSetPrecondition.AttributeNameProvider getAttributesByParameterListEntry(ParameterHandler handler,
                                                                                               java.lang.String parameterListKey,
                                                                                               int entry)
Returns an AttributeNameProvider that can extract one column of a ParameterTypeList for use them as attribute names.



Copyright © 2001-2009 by Rapid-I