package com.cheng.zenofdesignpatterns.extension.mvcframework.cheng.action; import com.cheng.zenofdesignpatterns.extension.mvcframework.cheng.valuestack.ValueStack; import com.cheng.zenofdesignpatterns.extension.mvcframework.cheng.helper.ValueStackHelper; /** * 抽象拦截器 */ public abstract class AbstractInterceptor { // 获得当前的值栈 private ValueStack valueStack = ValueStackHelper.getValueStack(); // 拦截器类型:前置、后置、环绕 private int type = 0; // 当前的值栈 protected ValueStack getValueStack() { return valueStack; } // 拦截处理 public final void exec() { // 根据type不同,处理方式也不同 } // 拦截器类型 protected abstract void setType(int type); // 子类实现的拦截器 protected abstract void intercept(); }