其他分享
首页 > 其他分享> > 山东大学软件工程应用与实践——PIG代码分析(五)

山东大学软件工程应用与实践——PIG代码分析(五)

作者:互联网

2021SC@SDUSC

目录

RULE

子类


RULE

public abstract class Rule {
    protected String name = null;
    protected OperatorPlan pattern;
    transient protected OperatorPlan currentPlan;
private transient Set<Operator> matchedNodes = 
new HashSet<Operator>();
    private boolean mandatory;
    private boolean skipListener = false;

Rule已经把 match(OperatorPlan plan)方法的逻辑实现好了。

子类

子类需要实现的是buildPattern()方法,来制定各自的”模式”,即pattern变量,此外,子类还需要实现getNewTransformer()方法来实例化一个transformer,transformer的check()和transform()方法会进一步处理rule匹配的operators。

Rulematch()的用途是确保plan的所有子plan都满足该rule的pattern。

标签:子类,OperatorPlan,private,PIG,软件工程,plan,pattern,protected,山东大学
来源: https://blog.csdn.net/qq_45831705/article/details/121845510