Oracle Application Server TopLink API Reference
10g Release 2 (10.1.2)

B15903-01


oracle.toplink.expressions
Class ExpressionOperator

java.lang.Object
  extended byoracle.toplink.expressions.ExpressionOperator

All Implemented Interfaces:
java.io.Serializable

public class ExpressionOperator
extends java.lang.Object
implements java.io.Serializable

Purpose: ADVANCED: The expression operator is used internally to define SQL operations and functions. It is possible for an advanced user to define their own operators.

See Also:
Serialized Form

Field Summary
static int Abs
static int Acos
static int Add
static int AddDate
static int AddMonths
static int AggregateOperator
static int And
Logical operators
static int Ascending
Ordering operators
static int Ascii
static int Asin
static int Atan
static int Atan2
static int Average
static int Between
static int Case
static int Ceil
static int CharIndex
static int CharLength
static int Chr
static int ComparisonOperator
static int Concat
static int Cos
static int Cosh
static int Cot
static int Count
Aggregate operators
static int DateDifference
static int DateName
static int DatePart
static int DateToString
static int Decode
static int Deref
static int Descending
static int Difference
static int Distinct
static int Divide
static int Equal
Comparison operators
static int EqualOuterJoin
static int Exists
static int Exp
static int Floor
static int FunctionOperator
static int GreaterThan
static int GreaterThanEqual
static int Greatest
static int HexToRaw
static int In
static int Initcap
static int Instring
static int IsNull
static int LastDay
static int Least
static int LeftPad
static int LeftTrim
static int Length
static int LessThan
static int LessThanEqual
static int Like
static int LikeEscape
static int Ln
static int Log
static int LogicalOperator
Operator types
static int Maximum
static int Minimum
static int Mod
static int MonthsBetween
static int Multiply
static int NewTime
static int NextDay
static int Not
static int NotBetween
static int NotEqual
static int NotExists
static int NotIn
static int NotLike
static int NotNull
static int Nvl
static int Or
static int OrderOperator
static int Power
static int Ref
static int RefToHex
static int Replace
static int Replicate
static int Reverse
static int Right
static int RightPad
static int RightTrim
static int Round
static int RoundDate
static int Sign
static int Sin
static int Sinh
static int Soundex
static int Sqrt
static int StandardDeviation
static int Substring
static int Subtract
static int Sum
static int Tan
static int Tanh
static int ToDate
static int Today
static int ToLowerCase
static int ToNumber
static int ToUpperCase
Function operators
static int Translate
static int Trim
static int Trunc
static int TruncateDate
static int Value
static int Variance

Constructor Summary
ExpressionOperator()
ADVANCED: Create a new operator.
ExpressionOperator(int selector, java.util.Vector newDatabaseStrings)
ADVANCED: Create a new operator with the given selector and strings to print.

Method Summary
static void addOperator(ExpressionOperator exOperator)
ADVANCED: Add an operator to the global list of operators.
void bePostfix()
ADVANCED: Tell the operator to be postfix, i.e. its strings start printing after those of its first argument.
void bePrefix()
ADVANCED: Tell the operator to be pretfix, i.e. its strings start printing before those of its first argument.
boolean equals(java.lang.Object object)
PUBLIC: Test for equality
static java.util.Hashtable getAllOperators()
ADVANCED: Return the hashtable of all operators.
int getType()
ADVANCED: Return the type of function.
boolean isAggregateOperator()
Aggregate functions are function in the select such as COUNT.
boolean isComparisonOperator()
Comparison functions are functions such as = and >.
boolean isFunctionOperator()
General functions are any normal function such as UPPER.
boolean isLogicalOperator()
Logical functions are functions such as and and or.
boolean isOrderOperator()
Order functions are used in the order by such as ASC.
boolean isPrefix()
ADVANCED: Return true if this is a prefix operator.
void printsAs(java.lang.String s)
ADVANCED: Set the single string for this operator.
void printsAs(java.util.Vector dbStrings)
ADVANCED: Set the strings for this operator.
void setArgumentIndices(int[] indices)
ADVANCED: Sets the ordering of arguments to use when building the SQL function.
void setNodeClass(java.lang.Class nodeClass)
ADVANCED: Set the node class for this operator.
void setSelector(int selector)
ADVANCED: Sets the unique identifier.
void setType(int type)
ADVANCED: Set the type of function.
java.lang.String toString()
Print a debug representation of this operator.

Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

LogicalOperator

public static final int LogicalOperator
Operator types
See Also:
Constant Field Values

ComparisonOperator

public static final int ComparisonOperator
See Also:
Constant Field Values

AggregateOperator

public static final int AggregateOperator
See Also:
Constant Field Values

OrderOperator

public static final int OrderOperator
See Also:
Constant Field Values

FunctionOperator

public static final int FunctionOperator
See Also:
Constant Field Values

And

public static final int And
Logical operators
See Also:
Constant Field Values

Or

public static final int Or
See Also:
Constant Field Values

Not

public static final int Not
See Also:
Constant Field Values

Equal

public static final int Equal
Comparison operators
See Also:
Constant Field Values

NotEqual

public static final int NotEqual
See Also:
Constant Field Values

EqualOuterJoin

public static final int EqualOuterJoin
See Also:
Constant Field Values

LessThan

public static final int LessThan
See Also:
Constant Field Values

LessThanEqual

public static final int LessThanEqual
See Also:
Constant Field Values

GreaterThan

public static final int GreaterThan
See Also:
Constant Field Values

GreaterThanEqual

public static final int GreaterThanEqual
See Also:
Constant Field Values

Like

public static final int Like
See Also:
Constant Field Values

NotLike

public static final int NotLike
See Also:
Constant Field Values

In

public static final int In
See Also:
Constant Field Values

NotIn

public static final int NotIn
See Also:
Constant Field Values

Between

public static final int Between
See Also:
Constant Field Values

NotBetween

public static final int NotBetween
See Also:
Constant Field Values

IsNull

public static final int IsNull
See Also:
Constant Field Values

NotNull

public static final int NotNull
See Also:
Constant Field Values

Exists

public static final int Exists
See Also:
Constant Field Values

NotExists

public static final int NotExists
See Also:
Constant Field Values

LikeEscape

public static final int LikeEscape
See Also:
Constant Field Values

Decode

public static final int Decode
See Also:
Constant Field Values

Case

public static final int Case
See Also:
Constant Field Values

Count

public static final int Count
Aggregate operators
See Also:
Constant Field Values

Sum

public static final int Sum
See Also:
Constant Field Values

Average

public static final int Average
See Also:
Constant Field Values

Maximum

public static final int Maximum
See Also:
Constant Field Values

Minimum

public static final int Minimum
See Also:
Constant Field Values

StandardDeviation

public static final int StandardDeviation
See Also:
Constant Field Values

Variance

public static final int Variance
See Also:
Constant Field Values

Distinct

public static final int Distinct
See Also:
Constant Field Values

Ascending

public static final int Ascending
Ordering operators
See Also:
Constant Field Values

Descending

public static final int Descending
See Also:
Constant Field Values

ToUpperCase

public static final int ToUpperCase
Function operators
See Also:
Constant Field Values

ToLowerCase

public static final int ToLowerCase
See Also:
Constant Field Values

Chr

public static final int Chr
See Also:
Constant Field Values

Concat

public static final int Concat
See Also:
Constant Field Values

HexToRaw

public static final int HexToRaw
See Also:
Constant Field Values

Initcap

public static final int Initcap
See Also:
Constant Field Values

Instring

public static final int Instring
See Also:
Constant Field Values

Soundex

public static final int Soundex
See Also:
Constant Field Values

LeftPad

public static final int LeftPad
See Also:
Constant Field Values

LeftTrim

public static final int LeftTrim
See Also:
Constant Field Values

Replace

public static final int Replace
See Also:
Constant Field Values

RightPad

public static final int RightPad
See Also:
Constant Field Values

RightTrim

public static final int RightTrim
See Also:
Constant Field Values

Substring

public static final int Substring
See Also:
Constant Field Values

ToNumber

public static final int ToNumber
See Also:
Constant Field Values

Translate

public static final int Translate
See Also:
Constant Field Values

Trim

public static final int Trim
See Also:
Constant Field Values

Ascii

public static final int Ascii
See Also:
Constant Field Values

Length

public static final int Length
See Also:
Constant Field Values

CharIndex

public static final int CharIndex
See Also:
Constant Field Values

CharLength

public static final int CharLength
See Also:
Constant Field Values

Difference

public static final int Difference
See Also:
Constant Field Values

Reverse

public static final int Reverse
See Also:
Constant Field Values

Replicate

public static final int Replicate
See Also:
Constant Field Values

Right

public static final int Right
See Also:
Constant Field Values

AddMonths

public static final int AddMonths
See Also:
Constant Field Values

DateToString

public static final int DateToString
See Also:
Constant Field Values

LastDay

public static final int LastDay
See Also:
Constant Field Values

MonthsBetween

public static final int MonthsBetween
See Also:
Constant Field Values

NextDay

public static final int NextDay
See Also:
Constant Field Values

RoundDate

public static final int RoundDate
See Also:
Constant Field Values

ToDate

public static final int ToDate
See Also:
Constant Field Values

Today

public static final int Today
See Also:
Constant Field Values

AddDate

public static final int AddDate
See Also:
Constant Field Values

DateName

public static final int DateName
See Also:
Constant Field Values

DatePart

public static final int DatePart
See Also:
Constant Field Values

DateDifference

public static final int DateDifference
See Also:
Constant Field Values

TruncateDate

public static final int TruncateDate
See Also:
Constant Field Values

NewTime

public static final int NewTime
See Also:
Constant Field Values

Nvl

public static final int Nvl
See Also:
Constant Field Values

Ceil

public static final int Ceil
See Also:
Constant Field Values

Cos

public static final int Cos
See Also:
Constant Field Values

Cosh

public static final int Cosh
See Also:
Constant Field Values

Abs

public static final int Abs
See Also:
Constant Field Values

Acos

public static final int Acos
See Also:
Constant Field Values

Asin

public static final int Asin
See Also:
Constant Field Values

Atan

public static final int Atan
See Also:
Constant Field Values

Exp

public static final int Exp
See Also:
Constant Field Values

Sqrt

public static final int Sqrt
See Also:
Constant Field Values

Floor

public static final int Floor
See Also:
Constant Field Values

Ln

public static final int Ln
See Also:
Constant Field Values

Log

public static final int Log
See Also:
Constant Field Values

Mod

public static final int Mod
See Also:
Constant Field Values

Power

public static final int Power
See Also:
Constant Field Values

Round

public static final int Round
See Also:
Constant Field Values

Sign

public static final int Sign
See Also:
Constant Field Values

Sin

public static final int Sin
See Also:
Constant Field Values

Sinh

public static final int Sinh
See Also:
Constant Field Values

Tan

public static final int Tan
See Also:
Constant Field Values

Tanh

public static final int Tanh
See Also:
Constant Field Values

Trunc

public static final int Trunc
See Also:
Constant Field Values

Greatest

public static final int Greatest
See Also:
Constant Field Values

Least

public static final int Least
See Also:
Constant Field Values

Add

public static final int Add
See Also:
Constant Field Values

Subtract

public static final int Subtract
See Also:
Constant Field Values

Divide

public static final int Divide
See Also:
Constant Field Values

Multiply

public static final int Multiply
See Also:
Constant Field Values

Atan2

public static final int Atan2
See Also:
Constant Field Values

Cot

public static final int Cot
See Also:
Constant Field Values

Deref

public static final int Deref
See Also:
Constant Field Values

Ref

public static final int Ref
See Also:
Constant Field Values

RefToHex

public static final int RefToHex
See Also:
Constant Field Values

Value

public static final int Value
See Also:
Constant Field Values

Constructor Detail

ExpressionOperator

public ExpressionOperator()
ADVANCED: Create a new operator.

ExpressionOperator

public ExpressionOperator(int selector,
                          java.util.Vector newDatabaseStrings)
ADVANCED: Create a new operator with the given selector and strings to print.

Method Detail

addOperator

public static void addOperator(ExpressionOperator exOperator)
ADVANCED: Add an operator to the global list of operators.

bePostfix

public void bePostfix()
ADVANCED: Tell the operator to be postfix, i.e. its strings start printing after those of its first argument.

bePrefix

public void bePrefix()
ADVANCED: Tell the operator to be pretfix, i.e. its strings start printing before those of its first argument.

equals

public boolean equals(java.lang.Object object)
PUBLIC: Test for equality

getAllOperators

public static java.util.Hashtable getAllOperators()
ADVANCED: Return the hashtable of all operators.

getType

public int getType()
ADVANCED: Return the type of function. This must be one of the static function types defined in this class.

isAggregateOperator

public boolean isAggregateOperator()
Aggregate functions are function in the select such as COUNT.

isComparisonOperator

public boolean isComparisonOperator()
Comparison functions are functions such as = and >.

isFunctionOperator

public boolean isFunctionOperator()
General functions are any normal function such as UPPER.

isLogicalOperator

public boolean isLogicalOperator()
Logical functions are functions such as and and or.

isOrderOperator

public boolean isOrderOperator()
Order functions are used in the order by such as ASC.

isPrefix

public boolean isPrefix()
ADVANCED: Return true if this is a prefix operator.

printsAs

public void printsAs(java.lang.String s)
ADVANCED: Set the single string for this operator.

printsAs

public void printsAs(java.util.Vector dbStrings)
ADVANCED: Set the strings for this operator.

setArgumentIndices

public void setArgumentIndices(int[] indices)
ADVANCED: Sets the ordering of arguments to use when building the SQL function.

If you have an expression of the form emp.get("firstName").getFunction(MyFunctions.LOCATE, args) the underlying field F_NAME will itself be an argument, and by default will appear first. One use of this method could be to make it appear second or last.

Parameters:
indices - length equal to number of arguments plus one, and values a permutation of 0, 1, ..., length - 1.

setNodeClass

public void setNodeClass(java.lang.Class nodeClass)
ADVANCED: Set the node class for this operator. For user-defined functions this is set automatically.

setSelector

public void setSelector(int selector)
ADVANCED: Sets the unique identifier.

Once a call to addOperator is made this unique id is used to access this operator. The values from 0 to 200 are reserved for predefined operators like between or greaterThan.

See Also:
Expression.getFunction(int)

setType

public void setType(int type)
ADVANCED: Set the type of function. This must be one of the static function types defined in this class, and by default is ExpressionOperator.FunctionOperator.

toString

public java.lang.String toString()
Print a debug representation of this operator.

Copyright © 1998, 2005 Oracle Corporation. All Rights Reserved.