@Internal public class UdfAnalyzer extends Object
The implementation is as conservative as possible meaning that for cases or bytecode instructions that haven't been considered the analyzer will fallback to the ASM library (which removes TaggedValues).
Constructor and Description |
---|
UdfAnalyzer(Class<?> baseClass,
Class<?> udfClass,
String externalUdfName,
TypeInformation<?> in1Type,
TypeInformation<?> in2Type,
TypeInformation<?> outType,
Keys<?> keys1,
Keys<?> keys2,
boolean throwErrorExceptions) |
Modifier and Type | Method and Description |
---|---|
void |
addSemanticPropertiesHints() |
boolean |
analyze() |
void |
applyIteratorTrueAssumption() |
List<TaggedValue> |
getCollectorValues() |
TaggedValue |
getInput1AsTaggedValue() |
TaggedValue |
getInput2AsTaggedValue() |
String |
getInternalUdfClassName() |
SemanticProperties |
getSemanticProperties() |
int |
getState() |
void |
handleInvalidTupleAccess() |
void |
handleNullReturn() |
void |
handlePutStatic() |
boolean |
hasUdfCollector() |
boolean |
hasUdfIterableInput() |
void |
incrNewOperationCounters(boolean topLevel) |
boolean |
isIteratorTrueAssumptionApplied() |
boolean |
isUdfBinary() |
boolean |
isUdfReduceFunction() |
void |
printToLogger(org.slf4j.Logger log) |
void |
setState(int state) |
public UdfAnalyzer(Class<?> baseClass, Class<?> udfClass, String externalUdfName, TypeInformation<?> in1Type, TypeInformation<?> in2Type, TypeInformation<?> outType, Keys<?> keys1, Keys<?> keys2, boolean throwErrorExceptions)
public int getState()
public void setState(int state)
public boolean isUdfBinary()
public boolean isIteratorTrueAssumptionApplied()
public void applyIteratorTrueAssumption()
public void incrNewOperationCounters(boolean topLevel)
public boolean hasUdfCollector()
public boolean hasUdfIterableInput()
public boolean isUdfReduceFunction()
public String getInternalUdfClassName()
public List<TaggedValue> getCollectorValues()
public boolean analyze() throws CodeAnalyzerException
CodeAnalyzerException
public SemanticProperties getSemanticProperties()
public void addSemanticPropertiesHints()
public void printToLogger(org.slf4j.Logger log)
public TaggedValue getInput1AsTaggedValue()
public TaggedValue getInput2AsTaggedValue()
public void handleNullReturn()
public void handlePutStatic()
public void handleInvalidTupleAccess()
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.