org.apache.pig.impl.logicalLayer
Class LOForEach

java.lang.Object
  extended by org.apache.pig.impl.plan.Operator<LOVisitor>
      extended by org.apache.pig.impl.logicalLayer.LogicalOperator
          extended by org.apache.pig.impl.logicalLayer.LOForEach
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Operator>

public class LOForEach
extends LogicalOperator

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.pig.impl.logicalLayer.LogicalOperator
mAlias, mIsSchemaComputed, mPlan, mRequestedParallelism, mSchema, mType
 
Fields inherited from class org.apache.pig.impl.plan.Operator
mKey
 
Constructor Summary
LOForEach(LogicalPlan plan, OperatorKey k, ArrayList<LogicalPlan> foreachPlans, ArrayList<Boolean> flattenList)
           
LOForEach(LogicalPlan plan, OperatorKey k, ArrayList<LogicalPlan> foreachPlans, ArrayList<Boolean> flattenList, ArrayList<Schema> userDefinedSchemaList)
           
 
Method Summary
protected  Object clone()
           
 List<Boolean> getFlatten()
           
 ArrayList<LogicalPlan> getForEachPlans()
           
 ProjectionMap getProjectionMap()
          Produce a map describing how this operator modifies its projection.
 List<RequiredFields> getRequiredFields()
          Get a list of fields that this operator requires.
 Schema getSchema()
          Get a copy of the schema for the output of this operator.
 byte getType()
          Get the type of this operator.
 List<Schema> getUserDefinedSchema()
           
 String name()
           
 void setFlatten(ArrayList<Boolean> flattenList)
           
 void setForEachPlans(ArrayList<LogicalPlan> foreachPlans)
           
 void setUserDefinedSchema(ArrayList<Schema> userDefinedSchema)
           
 boolean supportsMultipleInputs()
          Indicates whether this operator supports multiple inputs.
 void unsetSchema()
          Unset the schema as if it had not been calculated.
 void visit(LOVisitor v)
          Visit this node with the provided visitor.
 
Methods inherited from class org.apache.pig.impl.logicalLayer.LogicalOperator
forceSchema, getAlias, getOperatorKey, getPlan, getRequestedParallelism, reconcileSchema, regenerateSchema, setAlias, setCanonicalNames, setPlan, setRequestedParallelism, setSchema, setSchemaComputed, setType, supportsMultipleOutputs, toString
 
Methods inherited from class org.apache.pig.impl.plan.Operator
compareTo, equals, hashCode
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LOForEach

public LOForEach(LogicalPlan plan,
                 OperatorKey k,
                 ArrayList<LogicalPlan> foreachPlans,
                 ArrayList<Boolean> flattenList)
Parameters:
plan - Logical plan this operator is a part of.
k - Operator key to assign to this node.
foreachPlans - the list of plans that are applied for each input
flattenList - boolean list that tells which elements of the foreach projection should be flattened.

LOForEach

public LOForEach(LogicalPlan plan,
                 OperatorKey k,
                 ArrayList<LogicalPlan> foreachPlans,
                 ArrayList<Boolean> flattenList,
                 ArrayList<Schema> userDefinedSchemaList)
Method Detail

getForEachPlans

public ArrayList<LogicalPlan> getForEachPlans()

setForEachPlans

public void setForEachPlans(ArrayList<LogicalPlan> foreachPlans)

getFlatten

public List<Boolean> getFlatten()

setFlatten

public void setFlatten(ArrayList<Boolean> flattenList)

getUserDefinedSchema

public List<Schema> getUserDefinedSchema()

setUserDefinedSchema

public void setUserDefinedSchema(ArrayList<Schema> userDefinedSchema)

name

public String name()
Specified by:
name in class Operator<LOVisitor>

supportsMultipleInputs

public boolean supportsMultipleInputs()
Description copied from class: Operator
Indicates whether this operator supports multiple inputs.

Specified by:
supportsMultipleInputs in class Operator<LOVisitor>
Returns:
true if it does, otherwise false.

visit

public void visit(LOVisitor v)
           throws VisitorException
Description copied from class: LogicalOperator
Visit this node with the provided visitor. This should only be called by the visitor class itself, never directly.

Specified by:
visit in class LogicalOperator
Parameters:
v - Visitor to visit with.
Throws:
VisitorException - if the visitor has a problem.

getType

public byte getType()
Description copied from class: LogicalOperator
Get the type of this operator.

Overrides:
getType in class LogicalOperator

getSchema

public Schema getSchema()
                 throws FrontendException
Description copied from class: LogicalOperator
Get a copy of the schema for the output of this operator.

Specified by:
getSchema in class LogicalOperator
Throws:
FrontendException

unsetSchema

public void unsetSchema()
                 throws VisitorException
Description copied from class: LogicalOperator
Unset the schema as if it had not been calculated. This is used by anyone who reorganizes the tree and needs to have schemas recalculated.

Overrides:
unsetSchema in class LogicalOperator
Throws:
VisitorException

clone

protected Object clone()
                throws CloneNotSupportedException
Overrides:
clone in class LogicalOperator
Throws:
CloneNotSupportedException
See Also:
Do not use the clone method directly. Operators are cloned when logical plans are cloned using {@link LogicalPlanCloner}

getProjectionMap

public ProjectionMap getProjectionMap()
Description copied from class: LogicalOperator
Produce a map describing how this operator modifies its projection.

Overrides:
getProjectionMap in class LogicalOperator
Returns:
ProjectionMap null indicates it does not know how the projection changes, for example a join of two inputs where one input does not have a schema.

getRequiredFields

public List<RequiredFields> getRequiredFields()
Description copied from class: LogicalOperator
Get a list of fields that this operator requires. This is not necessarily equivalent to the list of fields the operator projects. For example, a filter will project anything passed to it, but requires only the fields explicitly referenced in its filter expression.

Overrides:
getRequiredFields in class LogicalOperator
Returns:
list of RequiredFields null indicates that the operator does not need any fields from its input.


Copyright © ${year} The Apache Software Foundation