/** * INTERNAL: * Build MySQL equivalent to TO_CHAR. */ protected ExpressionOperator dateToStringOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.DateToString); Vector v = new Vector(2); v.addElement("CONVERT("); v.addElement(", CHAR)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Build MySQL equivalent to TO_NUMBER. */ protected ExpressionOperator toNumberOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.ToNumber); Vector v = new Vector(2); v.addElement("CONVERT("); v.addElement(", SIGNED)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Create the IN operator. */ public static ExpressionOperator in() { ExpressionOperator result = new ExpressionOperator(); result.setType(ExpressionOperator.FunctionOperator); result.setSelector(In); Vector v = new Vector(2); v.addElement(" IN ("); v.addElement(")"); result.printsAs(v); result.bePostfix(); result.setNodeClass(ClassConstants.FunctionExpression_Class); return result; }
/** * INTERNAL: * Create the NOTIN operator. */ public static ExpressionOperator notIn() { ExpressionOperator result = new ExpressionOperator(); result.setType(ExpressionOperator.FunctionOperator); result.setSelector(NotIn); Vector v = new Vector(2); v.addElement(" NOT IN ("); v.addElement(")"); result.printsAs(v); result.bePostfix(); result.setNodeClass(ClassConstants.FunctionExpression_Class); return result; }
/** * INTERNAL: * Build operator. */ public static ExpressionOperator simpleThreeArgumentFunction(int selector, String dbString) { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(selector); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(4); v.addElement(dbString + "("); v.addElement(", "); v.addElement(", "); v.addElement(")"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Build operator. */ public static ExpressionOperator simpleTwoArgumentFunction(int selector, String dbString) { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(selector); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(5); v.addElement(dbString + "("); v.addElement(", "); v.addElement(")"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Create the IN operator taking a subquery. * Note, the subquery itself comes with parenethesis, so the IN operator * should not add any parenethesis. */ public static ExpressionOperator inSubQuery() { ExpressionOperator result = new ExpressionOperator(); result.setType(ExpressionOperator.FunctionOperator); result.setSelector(InSubQuery); Vector v = new Vector(1); v.addElement(" IN "); result.printsAs(v); result.bePostfix(); result.setNodeClass(ClassConstants.FunctionExpression_Class); return result; }
/** * INTERNAL: * Build Sybase equivalent to TO_DATE. */ public static ExpressionOperator sybaseToDateOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(ToDate); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(2); v.addElement("CONVERT(DATETIME, "); v.addElement(")"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Create the NOT EXISTS operator. */ public static ExpressionOperator notExists() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(NotExists); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(2); v.addElement("NOT EXISTS" + " "); v.addElement(" "); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Create the EXISTS operator. */ public static ExpressionOperator exists() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(Exists); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(2); v.addElement("EXISTS" + " "); v.addElement(" "); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Build Sybase equivalent to TO_CHAR. */ public static ExpressionOperator sybaseToDateToStringOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(DateToString); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(2); v.addElement("CONVERT(CHAR, "); v.addElement(")"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * 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: * 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 the NOTNULL operator. */ public static ExpressionOperator notNull() { ExpressionOperator result = new ExpressionOperator(); result.setType(ComparisonOperator); result.setSelector(NotNull); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(); v.addElement("("); v.addElement(" IS NOT NULL)"); result.printsAs(v); result.bePrefix(); result.printsJavaAs(".notNull()"); result.setNodeClass(ClassConstants.FunctionExpression_Class); return result; }
/** * INTERNAL: * Create an operator for a simple function call without parentheses */ public static ExpressionOperator simpleFunctionNoParentheses(int selector, String databaseName) { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(selector); Vector v = oracle.toplink.essentials.internal.helper.NonSynchronizedVector.newInstance(1); v.addElement(databaseName); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); 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: * 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: * 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: * Create the ALL operator. */ public static ExpressionOperator all() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(FunctionOperator); exOperator.setSelector(All); exOperator.printsAs("ALL"); exOperator.bePostfix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }
/** * INTERNAL: * Create an operator for a simple ordering given a Java name and a single * String for the database (parentheses will be added automatically). */ public static ExpressionOperator simpleOrdering(int selector, String databaseName, String javaName) { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(OrderOperator); exOperator.setSelector(selector); exOperator.printsAs(" " + databaseName); exOperator.bePostfix(); exOperator.printsJavaAs("." + javaName + "()"); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); return exOperator; }