org.wltea.expression.op
枚举 Operator

java.lang.Object
  继承者 java.lang.Enum<Operator>
      继承者 org.wltea.expression.op.Operator
所有已实现的接口:
java.io.Serializable, java.lang.Comparable<Operator>

public enum Operator
extends java.lang.Enum<Operator>

表达式操作符接口 操作符优先级数值越大,优先级越高

版本:
2.0 2008-09-17
作者:
林良益,卓诗垚

枚举常量摘要
AND
           
APPEND
           
COLON
           
DIV
           
EQ
           
GE
           
GT
           
LE
           
LT
           
MINUS
           
MOD
           
MUTI
           
NEQ
           
NG
           
NOT
           
OR
           
PLUS
           
QUES
           
SELECT
           
 
方法摘要
 Constant execute(Constant[] args)
          执行操作,并返回结果Token
 int getOpType()
          操作符类型 一元 !
 int getPiority()
          获取操作符的优先级
 java.lang.String getToken()
          获取操作符的字符表示 如:+ - equals && ==
static boolean isLegalOperatorToken(java.lang.String tokenText)
          判断字符串是否是合法的操作符
static Operator valueOf(java.lang.String name)
          返回带有指定名称的该类型的枚举常量。
static Operator[] values()
          按照声明该枚举类型的常量的顺序,返回 包含这些常量的数组。
 Constant verify(int opPositin, BaseDataMeta[] args)
          检查操作符和参数是否合法,是可执行的 如果合法,则返回含有执行结果类型的Token 如果不合法,则返回null
 
从类 java.lang.Enum 继承的方法
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
从类 java.lang.Object 继承的方法
getClass, notify, notifyAll, wait, wait, wait
 

枚举常量详细信息

NOT

public static final Operator NOT

NG

public static final Operator NG

MUTI

public static final Operator MUTI

DIV

public static final Operator DIV

MOD

public static final Operator MOD

PLUS

public static final Operator PLUS

MINUS

public static final Operator MINUS

LT

public static final Operator LT

LE

public static final Operator LE

GT

public static final Operator GT

GE

public static final Operator GE

EQ

public static final Operator EQ

NEQ

public static final Operator NEQ

AND

public static final Operator AND

OR

public static final Operator OR

APPEND

public static final Operator APPEND

QUES

public static final Operator QUES

COLON

public static final Operator COLON

SELECT

public static final Operator SELECT
方法详细信息

values

public static Operator[] values()
按照声明该枚举类型的常量的顺序,返回 包含这些常量的数组。该方法可用于迭代 常量,如下所示:
for (Operator c : Operator.values())
    System.out.println(c);


valueOf

public static Operator valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格。)

参数:
name - 要返回的枚举常量的名称。
返回:
返回带有指定名称的枚举常量
抛出:
如果该枚举类型没有带有指定名称的常量, - 则抛出 IllegalArgumentException

isLegalOperatorToken

public static boolean isLegalOperatorToken(java.lang.String tokenText)
判断字符串是否是合法的操作符

参数:
tokenText -
返回:

getToken

public java.lang.String getToken()
获取操作符的字符表示 如:+ - equals && ==

返回:
String 操作符的字符形态

getPiority

public int getPiority()
获取操作符的优先级

返回:
int 操作符优先级

getOpType

public int getOpType()
操作符类型 一元 ! 二元 && >=

返回:
int 操作符类型(几元操作)

execute

public Constant execute(Constant[] args)
                 throws IllegalExpressionException
执行操作,并返回结果Token

参数:
args - 注意args中的参数由于是从栈中按LIFO顺序弹出的,所以必须从尾部倒着取数
返回:
Constant 常量型的执行结果
抛出:
IllegalExpressionException

verify

public Constant verify(int opPositin,
                       BaseDataMeta[] args)
                throws IllegalExpressionException
检查操作符和参数是否合法,是可执行的 如果合法,则返回含有执行结果类型的Token 如果不合法,则返回null

参数:
opPositin - 操作符位置
args - 注意args中的参数由于是从栈中按LIFO顺序弹出的,所以必须从尾部倒着取数
返回:
Constant 常量型的执行结果
抛出:
IllegalExpressionException