Package com.alibaba.druid.sql.ast.expr
Class SQLBinaryOpExpr
- java.lang.Object
-
- com.alibaba.druid.sql.ast.SQLObjectImpl
-
- com.alibaba.druid.sql.ast.SQLExprImpl
-
- com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr
-
- All Implemented Interfaces:
SQLDbTypedObject,SQLExpr,SQLObject,SQLReplaceable,Serializable,Cloneable,Comparable<SQLBinaryOpExpr>
public class SQLBinaryOpExpr extends SQLExprImpl implements SQLReplaceable, Serializable, SQLDbTypedObject, Comparable<SQLBinaryOpExpr>
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected DbTypedbTypeprotected SQLExprleftprotected List<SQLObject>mergedListprotected SQLBinaryOperatoroperatorprotected SQLExprright-
Fields inherited from class com.alibaba.druid.sql.ast.SQLExprImpl
parenthesized, parenthesizedCount
-
Fields inherited from class com.alibaba.druid.sql.ast.SQLObjectImpl
attributes, hint, parent, sourceColumn, sourceLine
-
-
Constructor Summary
Constructors Constructor Description SQLBinaryOpExpr()SQLBinaryOpExpr(DbType dbType)SQLBinaryOpExpr(SQLExpr left, SQLBinaryOperator operator, SQLExpr right)SQLBinaryOpExpr(SQLExpr left, SQLBinaryOperator operator, SQLExpr right, DbType dbType)SQLBinaryOpExpr(SQLExpr left, SQLExpr right, SQLBinaryOperator operator)
-
Method Summary
-
Methods inherited from class com.alibaba.druid.sql.ast.SQLExprImpl
cloneTo, getParenthesizedCount, increaseParenthesizedCount, isParenthesized, setParenthesized, setParenthesizedCount
-
Methods inherited from class com.alibaba.druid.sql.ast.SQLObjectImpl
accept, acceptChild, acceptChild, addAfterComment, addAfterComment, addBeforeComment, addBeforeComment, cloneTo, containsAttribute, getAfterCommentsDirect, getAttribute, getAttributes, getAttributesDirect, getBeforeCommentsDirect, getHint, getParent, getParent, getSourceColumn, getSourceLine, hasAfterComment, hasBeforeComment, output, putAttribute, setHint, setParent, setSource, setSourceLine
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.alibaba.druid.sql.ast.SQLObject
accept, addAfterComment, addAfterComment, addBeforeComment, addBeforeComment, containsAttribute, getAfterCommentsDirect, getAttribute, getAttributes, getAttributesDirect, getBeforeCommentsDirect, getParent, getParent, getSourceColumn, getSourceLine, hasAfterComment, hasBeforeComment, output, putAttribute, setParent, setSource
-
-
-
-
Constructor Detail
-
SQLBinaryOpExpr
public SQLBinaryOpExpr()
-
SQLBinaryOpExpr
public SQLBinaryOpExpr(DbType dbType)
-
SQLBinaryOpExpr
public SQLBinaryOpExpr(SQLExpr left, SQLBinaryOperator operator, SQLExpr right)
-
SQLBinaryOpExpr
public SQLBinaryOpExpr(SQLExpr left, SQLBinaryOperator operator, SQLExpr right, DbType dbType)
-
SQLBinaryOpExpr
public SQLBinaryOpExpr(SQLExpr left, SQLExpr right, SQLBinaryOperator operator)
-
-
Method Detail
-
getDbType
public DbType getDbType()
- Specified by:
getDbTypein interfaceSQLDbTypedObject
-
setDbType
public void setDbType(DbType dbType)
-
getLeft
public SQLExpr getLeft()
-
setLeft
public void setLeft(SQLExpr left)
-
getRight
public SQLExpr getRight()
-
setRight
public void setRight(SQLExpr right)
-
getOperator
public SQLBinaryOperator getOperator()
-
setOperator
public void setOperator(SQLBinaryOperator operator)
-
accept0
protected void accept0(SQLASTVisitor visitor)
- Specified by:
accept0in classSQLObjectImpl
-
getChildren
public List getChildren()
- Specified by:
getChildrenin interfaceSQLExpr- Overrides:
getChildrenin classSQLExprImpl
-
hashCode
public int hashCode()
- Specified by:
hashCodein classSQLExprImpl
-
equals
public boolean equals(Object obj)
- Specified by:
equalsin classSQLExprImpl
-
equals
public boolean equals(SQLBinaryOpExpr other)
-
equalsIgoreOrder
public boolean equalsIgoreOrder(SQLBinaryOpExpr other)
-
cloneTo
protected void cloneTo(SQLBinaryOpExpr x)
-
clone
public SQLBinaryOpExpr clone()
-
toString
public String toString()
- Overrides:
toStringin classSQLObjectImpl
-
combine
public static SQLExpr combine(List<? extends SQLExpr> items, SQLBinaryOperator op)
-
split
public static List<SQLExpr> split(SQLBinaryOpExpr x)
-
split
public static List<SQLExpr> split(SQLExpr x, SQLBinaryOperator op)
-
split
public static List<SQLExpr> split(SQLBinaryOpExpr x, SQLBinaryOperator op)
-
split
public static void split(List<SQLExpr> outList, SQLExpr expr, SQLBinaryOperator op)
-
isNotNull
public static SQLBinaryOpExpr isNotNull(SQLExpr expr)
-
isNull
public static SQLBinaryOpExpr isNull(SQLExpr expr)
-
replace
public boolean replace(SQLExpr expr, SQLExpr target)
- Specified by:
replacein interfaceSQLReplaceable
-
contains
public boolean contains(SQLExpr item)
-
computeDataType
public SQLDataType computeDataType()
- Specified by:
computeDataTypein interfaceSQLExpr- Overrides:
computeDataTypein classSQLExprImpl
-
conditionContainsTable
public boolean conditionContainsTable(String alias)
-
conditionContainsColumn
public boolean conditionContainsColumn(String column)
-
merge
public static SQLBinaryOpExpr merge(ParameterizedVisitor v, SQLBinaryOpExpr x)
Merges the given SQLBinaryOpExpr with its parent using a parameterized visitor.- Parameters:
v- the parameterized visitor used for mergingx- the SQLBinaryOpExpr to be merged- Returns:
- the merged SQLBinaryOpExpr
-
getMergedList
public List<SQLObject> getMergedList()
Retrieves the merged list of SQLObjects.- Returns:
- the merged list of SQLObjects
-
isOr
public static boolean isOr(SQLExpr x)
-
isAnd
public static boolean isAnd(SQLExpr x)
-
isLeftNameAndRightLiteral
public boolean isLeftNameAndRightLiteral()
-
isLeftFunctionAndRightLiteral
public boolean isLeftFunctionAndRightLiteral()
-
isNameAndLiteral
public boolean isNameAndLiteral()
-
isBothName
public boolean isBothName()
-
compareTo
public int compareTo(SQLBinaryOpExpr o)
- Specified by:
compareToin interfaceComparable<SQLBinaryOpExpr>
-
isLeftLiteralAndRightName
public boolean isLeftLiteralAndRightName()
-
conditionEq
public static SQLBinaryOpExpr conditionEq(String column, String value)
-
conditionEq
public static SQLBinaryOpExpr conditionEq(String column, int value)
-
conditionLike
public static SQLBinaryOpExpr conditionLike(String column, String value)
-
conditionLike
public static SQLBinaryOpExpr conditionLike(String column, SQLExpr value)
-
eq
public static SQLBinaryOpExpr eq(SQLExpr a, SQLExpr b)
-
-