|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.udo.cs.yale.operator.Operator
edu.udo.cs.yale.operator.IOConsumeOperator
public class IOConsumeOperator
Most Yale operators should define their desired input and delivered output in a senseful way. In some cases operators can produce additional output which is indicated with a boolean parameter. Other operators are able to deliver their input as output instead of consuming it (parameter keep_...). However, in some cases it might be usefull to delete unwanted output to ensure that following operators use the correct input object. Furthermore, some operators produce additional unneeded and therefore unconsumed output. In an iterating operator chain this unneeded output will grow with each iteration. Therefore, the IOConsumeOperator can be used to delete one (the n-th) object of a given type (indicated by delete_one), all input objects of a given type (indicated by delete_all), or all input objects but those of a given type (indicated by delete_all_but).
Field Summary | |
---|---|
private static int |
DELETE_ALL
|
private static int |
DELETE_ALL_BUT
|
private static int |
DELETE_ONE
|
private static java.lang.String[] |
DELETION_TYPES
|
private java.lang.String[] |
objectArray
|
Constructor Summary | |
---|---|
IOConsumeOperator(OperatorDescription description)
|
Method Summary | |
---|---|
IOObject[] |
apply()
Implement this method in subclasses. |
java.lang.Class[] |
getInputClasses()
Returns the classes that are needed as input. |
java.lang.Class[] |
getOutputClasses()
Returns the classes that are guaranteed to be returned by apply() as additional output. |
java.util.List<ParameterType> |
getParameterTypes()
Returns a list of ParameterTypes describing the parameters of this operator. |
private java.lang.Class<IOObject> |
getSelectedClass()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String[] DELETION_TYPES
private static final int DELETE_ONE
private static final int DELETE_ALL
private static final int DELETE_ALL_BUT
private java.lang.String[] objectArray
Constructor Detail |
---|
public IOConsumeOperator(OperatorDescription description)
Method Detail |
---|
private java.lang.Class<IOObject> getSelectedClass() throws UndefinedParameterError
UndefinedParameterError
public IOObject[] apply() throws OperatorException
Operator
apply
in class Operator
OperatorException
public java.lang.Class[] getInputClasses()
Operator
Operator.getOutputClasses()
and
Operator.apply()
if this is necessary. This default behavior can be
changed by overriding Operator.getInputDescription(Class)
. Subclasses
which implement this method should not make use of parameters since this
method is invoked by getParameterTypes(). Therefore, parameters are not
fully available at this point of time and this might lead to exceptions.
Please use InputDescriptions instead.
getInputClasses
in class Operator
public java.lang.Class[] getOutputClasses()
Operator
Operator.getInputDescription(Class)
and can be changed by
overwriting this method. Objects which are not consumed must not be
defined as additional output in this method. May be null or an empy array
(no additional output is produced).
getOutputClasses
in class Operator
public java.util.List<ParameterType> getParameterTypes()
Operator
getParameterTypes
in class Operator
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |