All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.cassite.daf4j.ds.AndOrParser Maven / Gradle / Ivy

The newest version!
package net.cassite.daf4j.ds;

import net.cassite.daf4j.And;
import net.cassite.daf4j.Condition;
import net.cassite.daf4j.ExpressionBoolean;
import net.cassite.daf4j.Or;

import java.util.List;

/**
 * 与或解释器
 *
 * @param       上下文类型
 * @param  基本元素
 */
public interface AndOrParser extends AdvancedParser {
        /**
         * 取`与`操作
         *
         * @param context       上下文
         * @param conditionList 条件列表
         * @param expList       表达式列表
         * @return 基本元素
         * @throws Exception 可能的异常
         */
        BasicElement and(Context context, List conditionList, List expList) throws Exception;

        /**
         * 取`或`操作
         *
         * @param context       上下文
         * @param conditionList 条件列表
         * @param expList       表达式列表
         * @return 基本元素
         * @throws Exception 可能的异常
         */
        BasicElement or(Context context, List conditionList, List expList) throws Exception;

        /**
         * 取`与`操作
         *
         * @param context  上下文
         * @param elemList 基本元素列表
         * @return 基本元素
         * @throws Exception 可能的异常
         */
        BasicElement and(Context context, List elemList) throws Exception;

        /**
         * 取`或`操作
         *
         * @param context  上下文
         * @param elemList 基本元素列表
         * @return 基本元素
         * @throws Exception 可能的异常
         */
        BasicElement or(Context context, List elemList) throws Exception;

        /**
         * 在解释And前调用
         *
         * @param context 上下文
         * @param and     `与`操作内容
         * @return 上下文
         * @throws Exception 可能的异常
         */
        Context beforeParsingAnd(Context context, And and) throws Exception;

        /**
         * 解释And后调用
         *
         * @param context 上下文
         * @param elem    生成的基本元素
         * @return 基本元素
         * @throws Exception 可能的异常
         */
        BasicElement afterParsingAnd(Context context, BasicElement elem) throws Exception;

        /**
         * 在解释Or前调用
         *
         * @param context 上下文
         * @param or      `或`操作内容
         * @return 上下文
         * @throws Exception 可能的异常
         */
        Context beforeParsingOr(Context context, Or or) throws Exception;

        /**
         * 解释Or后调用
         *
         * @param context 上下文
         * @param elem    生成的基本元素
         * @return 基本元素
         * @throws Exception 可能的异常
         */
        BasicElement afterParsingOr(Context context, BasicElement elem) throws Exception;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy