org.apache.pig.newplan.logical.expression
Class UserFuncExpression

java.lang.Object
  extended by org.apache.pig.newplan.Operator
      extended by org.apache.pig.newplan.logical.expression.LogicalExpression
          extended by org.apache.pig.newplan.logical.expression.UserFuncExpression
Direct Known Subclasses:
ScalarExpression

public class UserFuncExpression
extends LogicalExpression


Field Summary
 
Fields inherited from class org.apache.pig.newplan.logical.expression.LogicalExpression
fieldSchema, uidOnlyFieldSchema
 
Fields inherited from class org.apache.pig.newplan.Operator
annotations, hashPrime, location, name, plan
 
Constructor Summary
UserFuncExpression(OperatorPlan plan, FuncSpec funcSpec)
           
UserFuncExpression(OperatorPlan plan, FuncSpec funcSpec, boolean viaDefine)
           
UserFuncExpression(OperatorPlan plan, FuncSpec funcSpec, List<LogicalExpression> args)
           
UserFuncExpression(OperatorPlan plan, FuncSpec funcSpec, List<LogicalExpression> args, boolean viaDefine)
           
 
Method Summary
 void accept(PlanVisitor v)
          Accept a visitor at this node in the graph.
 LogicalExpression deepCopy(LogicalExpressionPlan lgExpPlan)
          Create the deep copy of this expression and add that into the passed LogicalExpressionPlan Return the copy of this expression with updated logical expression plan.
 List<LogicalExpression> getArguments()
           
 LogicalSchema.LogicalFieldSchema getFieldSchema()
          Get the field schema for the output of this expression operator.
 FuncSpec getFuncSpec()
           
 boolean isDeterministic()
           
 boolean isEqual(Operator other)
          This is like a shallow equals comparison.
 boolean isViaDefine()
           
 void setFuncSpec(FuncSpec funcSpec)
           
 String toString()
           
 
Methods inherited from class org.apache.pig.newplan.logical.expression.LogicalExpression
getNextUid, getType, neverUseForRealSetFieldSchema, resetFieldSchema, resetNextUid, resetUid
 
Methods inherited from class org.apache.pig.newplan.Operator
annotate, getAnnotation, getLocation, getName, getPlan, removeAnnotation, setLocation, setPlan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UserFuncExpression

public UserFuncExpression(OperatorPlan plan,
                          FuncSpec funcSpec)

UserFuncExpression

public UserFuncExpression(OperatorPlan plan,
                          FuncSpec funcSpec,
                          List<LogicalExpression> args)

UserFuncExpression

public UserFuncExpression(OperatorPlan plan,
                          FuncSpec funcSpec,
                          boolean viaDefine)

UserFuncExpression

public UserFuncExpression(OperatorPlan plan,
                          FuncSpec funcSpec,
                          List<LogicalExpression> args,
                          boolean viaDefine)
Method Detail

getFuncSpec

public FuncSpec getFuncSpec()

accept

public void accept(PlanVisitor v)
            throws FrontendException
Description copied from class: Operator
Accept a visitor at this node in the graph.

Specified by:
accept in class Operator
Parameters:
v - Visitor to accept.
Throws:
FrontendException

isEqual

public boolean isEqual(Operator other)
                throws FrontendException
Description copied from class: Operator
This is like a shallow equals comparison. It returns true if two operators have equivalent properties even if they are different objects. Here properties mean equivalent plan and equivalent name.

Specified by:
isEqual in class Operator
Returns:
true if two object have equivalent properties, else false
Throws:
FrontendException

isDeterministic

public boolean isDeterministic()
                        throws FrontendException
Throws:
FrontendException

getArguments

public List<LogicalExpression> getArguments()
                                     throws FrontendException
Throws:
FrontendException

setFuncSpec

public void setFuncSpec(FuncSpec funcSpec)
Parameters:
funcSpec - the FuncSpec to set

getFieldSchema

public LogicalSchema.LogicalFieldSchema getFieldSchema()
                                                throws FrontendException
Description copied from class: LogicalExpression
Get the field schema for the output of this expression operator. This does not merely return the field schema variable. If schema is not yet set, this will attempt to construct it. Therefore it is abstract since each operator will need to construct its field schema differently.

Specified by:
getFieldSchema in class LogicalExpression
Returns:
the FieldSchema
Throws:
FrontendException

deepCopy

public LogicalExpression deepCopy(LogicalExpressionPlan lgExpPlan)
                           throws FrontendException
Description copied from class: LogicalExpression
Create the deep copy of this expression and add that into the passed LogicalExpressionPlan Return the copy of this expression with updated logical expression plan.

Specified by:
deepCopy in class LogicalExpression
Parameters:
lgExpPlan - LogicalExpressionPlan in which this expression will be added.
Returns:
LogicalExpression with its own logical expression plan.
Throws:
FrontendException

toString

public String toString()
Overrides:
toString in class LogicalExpression

isViaDefine

public boolean isViaDefine()


Copyright © 2007-2012 The Apache Software Foundation