/** * INTERNAL: * Create the sysdate operator for this platform */ protected ExpressionOperator todayOperator() { return ExpressionOperator.simpleFunctionNoParentheses(ExpressionOperator.Today, "SYSDATE"); }
/** * INTERNAL: * Build operator. */ public static ExpressionOperator concat() { return simpleMath(Concat, "+"); }
/** * INTERNAL: * Build operator. * Note: This operator works differently from other operators. * @see Expression#decode(Hashtable, String) */ public static ExpressionOperator decode() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(Decode); exOperator.setNodeClass(FunctionExpression.class); exOperator.setType(FunctionOperator); exOperator.bePrefix(); return exOperator; }
/** * INTERNAL: * Create the SOME operator. */ public static ExpressionOperator some() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(Some); exOperator.printsAs("SOME"); exOperator.bePostfix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: */ protected static void initializeLogicalOperators() { addOperator(and()); addOperator(or()); addOperator(isNull()); addOperator(notNull()); }
/** * INTERNAL: */ protected static void initializeAggregateFunctionOperators() { addOperator(count()); addOperator(sum()); addOperator(average()); addOperator(minimum()); addOperator(maximum()); addOperator(variance()); addOperator(standardDeviation()); addOperator(distinct()); }
addOperator(ExpressionOperator.equalOuterJoin()); addOperator(ExpressionOperator.toUpperCase()); addOperator(ExpressionOperator.toLowerCase()); addOperator(ExpressionOperator.chr()); addOperator(ExpressionOperator.concat()); addOperator(ExpressionOperator.hexToRaw()); addOperator(ExpressionOperator.initcap()); addOperator(ExpressionOperator.instring()); addOperator(ExpressionOperator.soundex()); addOperator(ExpressionOperator.leftPad()); addOperator(ExpressionOperator.leftTrim()); addOperator(ExpressionOperator.leftTrim2()); addOperator(ExpressionOperator.replace()); addOperator(ExpressionOperator.rightPad()); addOperator(ExpressionOperator.rightTrim()); addOperator(ExpressionOperator.rightTrim2()); addOperator(ExpressionOperator.substring()); addOperator(ExpressionOperator.toNumber()); addOperator(ExpressionOperator.toChar()); addOperator(ExpressionOperator.toCharWithFormat()); addOperator(ExpressionOperator.translate()); addOperator(ExpressionOperator.trim()); addOperator(ExpressionOperator.trim2()); addOperator(ExpressionOperator.ascii()); addOperator(ExpressionOperator.length()); addOperator(ExpressionOperator.locate()); addOperator(ExpressionOperator.locate2());
super.initializePlatformOperators(); addOperator(operatorOuterJoin()); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Today, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentDate, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentTime, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Length, "CHAR_LENGTH")); addOperator(ExpressionOperator.sybaseLocateOperator()); addOperator(ExpressionOperator.simpleThreeArgumentFunction(ExpressionOperator.Substring, "SUBSTRING")); addOperator(ExpressionOperator.addDate()); addOperator(ExpressionOperator.dateName()); addOperator(ExpressionOperator.datePart()); addOperator(ExpressionOperator.dateDifference()); addOperator(ExpressionOperator.difference()); addOperator(ExpressionOperator.charIndex()); addOperator(ExpressionOperator.charLength()); addOperator(ExpressionOperator.reverse()); addOperator(ExpressionOperator.replicate()); addOperator(ExpressionOperator.right()); addOperator(ExpressionOperator.cot()); addOperator(ExpressionOperator.sybaseAtan2Operator()); addOperator(ExpressionOperator.sybaseAddMonthsOperator()); addOperator(ExpressionOperator.sybaseInStringOperator()); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "ISNULL")); addOperator(ExpressionOperator.sybaseToNumberOperator()); addOperator(ExpressionOperator.sybaseToDateToStringOperator()); addOperator(ExpressionOperator.sybaseToDateOperator());
/** * INTERNAL: */ protected static void initializeFunctionOperators() { addOperator(notOperator()); addOperator(ascending()); addOperator(descending()); addOperator(any()); addOperator(some()); addOperator(all()); addOperator(in()); addOperator(inSubQuery()); addOperator(notIn()); addOperator(notInSubQuery()); }
/** * INTERNAL: */ protected static void initializeRelationOperators() { addOperator(simpleRelation(Equal, "=", "equal")); addOperator(simpleRelation(NotEqual, "<>", "notEqual")); addOperator(simpleRelation(LessThan, "<", "lessThan")); addOperator(simpleRelation(LessThanEqual, "<=", "lessThanEqual")); addOperator(simpleRelation(GreaterThan, ">", "greaterThan")); addOperator(simpleRelation(GreaterThanEqual, ">=", "greaterThanEqual")); addOperator(like()); addOperator(likeEscape()); addOperator(notLike()); addOperator(between()); addOperator(exists()); addOperator(notExists()); }
/** * ADVANCED: * Inserts the SQL as is directly into the expression. * The sql will be printed immediately after (postfixed to) the sql for * <b>this</b>. */ public Expression postfixSQL(String sqlString) { ExpressionOperator anOperator = new ExpressionOperator(); anOperator.setType(ExpressionOperator.FunctionOperator); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(1); v.addElement(sqlString); anOperator.printsAs(v); anOperator.bePostfix(); anOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return anOperator.expressionFor(this); }
/** * ADVANCED: * Insert the SQL as is directly into the expression. * The sql will be printed immediately before (prefixed to) the sql for * <b>this</b>. */ public Expression prefixSQL(String sqlString) { ExpressionOperator anOperator = new ExpressionOperator(); anOperator.setType(ExpressionOperator.FunctionOperator); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(1); v.addElement(sqlString); anOperator.printsAs(v); anOperator.bePrefix(); anOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return anOperator.expressionFor(this); }
/** * ADVANCED: * Return a user defined function accepting all of the arguments. * The function is assumed to be a normal prefix function like, CONCAT(base, value1, value2, value3, ...). */ public Expression getFunctionWithArguments(String functionName, Vector arguments) { ExpressionOperator anOperator = new ExpressionOperator(); anOperator.setType(ExpressionOperator.FunctionOperator); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(arguments.size()); v.addElement(functionName + "("); for (int index = 0; index < arguments.size(); index++) { v.addElement(", "); } v.addElement(")"); anOperator.printsAs(v); anOperator.bePrefix(); anOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return anOperator.expressionForArguments(this, arguments); }
/** * INTERNAL: * Create a new expression tree with the named operator. Part of the implementation of user-level "get" */ public ExpressionOperator getOperator(int selector) { ExpressionOperator result = ExpressionOperator.getOperator(new Integer(selector)); if (result != null) { return result; } // Make a temporary operator which we expect the platform // to supply later. result = new ExpressionOperator(); result.setSelector(selector); result.setNodeClass(ClassConstants.FunctionExpression_Class); return result; }
super.initializePlatformOperators(); addOperator(operatorOuterJoin()); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Today, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentDate, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentTime, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Length, "CHAR_LENGTH")); addOperator(ExpressionOperator.simpleThreeArgumentFunction(ExpressionOperator.Substring, "SUBSTRING")); addOperator(ExpressionOperator.addDate()); addOperator(ExpressionOperator.dateName()); addOperator(ExpressionOperator.datePart()); addOperator(ExpressionOperator.dateDifference()); addOperator(ExpressionOperator.difference()); addOperator(ExpressionOperator.charIndex()); addOperator(ExpressionOperator.charLength()); addOperator(ExpressionOperator.reverse()); addOperator(ExpressionOperator.replicate()); addOperator(ExpressionOperator.right()); addOperator(ExpressionOperator.cot()); addOperator(ExpressionOperator.sybaseAtan2Operator()); addOperator(ExpressionOperator.sybaseAddMonthsOperator()); addOperator(ExpressionOperator.sybaseInStringOperator()); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "ISNULL")); addOperator(ExpressionOperator.sybaseToNumberOperator()); addOperator(ExpressionOperator.sybaseToDateToStringOperator()); addOperator(ExpressionOperator.sybaseToDateOperator()); addOperator(ExpressionOperator.sybaseToCharOperator());
/** * INTERNAL: * Create the ANY operator. */ public static ExpressionOperator any() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(Any); exOperator.printsAs("ANY"); exOperator.bePostfix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Return the operator. */ public static ExpressionOperator getOperator(int selector) { ExpressionOperator result = ExpressionOperator.getOperator(new Integer(selector)); if (result != null) { return result; } // Make a temporary operator which we expect the platform // to supply later. result = new ExpressionOperator(); result.setSelector(selector); result.setNodeClass(ClassConstants.FunctionExpression_Class); return result; }
/** * INTERNAL: * Build operator. * Note: This operator works differently from other operators. * @see Expression#caseStatement(Hashtable, String) */ public static ExpressionOperator caseStatement() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(Case); exOperator.bePrefix(); exOperator.setNodeClass(FunctionExpression.class); return exOperator; }
/** * INTERNAL: * Create an operator for a simple relation given a Java name and a single * String for the database (parentheses will be added automatically). */ public static ExpressionOperator simpleRelation(int selector, String databaseName) { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ComparisonOperator); exOperator.setSelector(selector); exOperator.printsAs(" " + databaseName + " "); exOperator.bePostfix(); exOperator.setNodeClass(ClassConstants.RelationExpression_Class); return exOperator; }
/** * INTERNAL: * Build operator. */ public static ExpressionOperator currentTimeStamp() { return simpleFunctionNoParentheses(Today, "CURRENT_TIMESTAMP"); }