private void defineUnary( SqlOperator operator, ExpressionType expressionType, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new UnaryImplementor(expressionType), false); }
private void defineMethodReflective( SqlOperator operator, Method method, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new ReflectiveCallNotNullImplementor(method), false); }
private void defineBinary( SqlOperator operator, ExpressionType expressionType, NullPolicy nullPolicy, String backupMethodName) { defineImplementor( operator, nullPolicy, new BinaryImplementor(expressionType, backupMethodName), true); }
private void defineMethod( SqlOperator operator, String functionName, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new MethodNameImplementor(functionName), false); }
private void defineMethod( SqlOperator operator, Method method, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new MethodImplementor(method), false); }
private void defineMethodReflective( SqlOperator operator, Method method, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new ReflectiveCallNotNullImplementor(method), false); }
private void defineMethod( SqlOperator operator, String functionName, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new MethodNameImplementor(functionName), false); }
private void defineUnary( SqlOperator operator, ExpressionType expressionType, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new UnaryImplementor(expressionType), false); }
private void defineBinary( SqlOperator operator, ExpressionType expressionType, NullPolicy nullPolicy, String backupMethodName) { defineImplementor( operator, nullPolicy, new BinaryImplementor(expressionType, backupMethodName), true); }
private void defineMethod( SqlOperator operator, Method method, NullPolicy nullPolicy) { defineImplementor( operator, nullPolicy, new MethodImplementor(method), false); }
defineImplementor(TRIM, NullPolicy.STRICT, trimImplementor, false); defineImplementor(RAND, NullPolicy.STRICT, new NotNullImplementor() { final NotNullImplementor[] implementors = { defineImplementor(RAND_INTEGER, NullPolicy.STRICT, new NotNullImplementor() { final NotNullImplementor[] implementors = { defineImplementor(DATETIME_PLUS, NullPolicy.STRICT, new DatetimeArithmeticImplementor(), false); defineImplementor(MINUS_DATE, NullPolicy.STRICT, new DatetimeArithmeticImplementor(), false); defineImplementor(EXTRACT, NullPolicy.STRICT, new ExtractImplementor(), false); defineImplementor(FLOOR, NullPolicy.STRICT, new FloorImplementor(BuiltInMethod.FLOOR.method.getName(), BuiltInMethod.UNIX_TIMESTAMP_FLOOR.method, BuiltInMethod.UNIX_DATE_FLOOR.method), false); defineImplementor(CEIL, NullPolicy.STRICT, new FloorImplementor(BuiltInMethod.CEIL.method.getName(), BuiltInMethod.UNIX_TIMESTAMP_CEIL.method, defineImplementor(LIKE, NullPolicy.STRICT, likeImplementor, false); defineImplementor(NOT_LIKE, NullPolicy.STRICT, NotImplementor.of(likeImplementor), false); final MethodImplementor similarImplementor = new MethodImplementor(BuiltInMethod.SIMILAR.method);
defineImplementor(TRIM, NullPolicy.STRICT, trimImplementor, false); defineImplementor(RAND, NullPolicy.STRICT, new NotNullImplementor() { final NotNullImplementor[] implementors = { defineImplementor(RAND_INTEGER, NullPolicy.STRICT, new NotNullImplementor() { final NotNullImplementor[] implementors = { defineImplementor(DATETIME_PLUS, NullPolicy.STRICT, new DatetimeArithmeticImplementor(), false); defineImplementor(MINUS_DATE, NullPolicy.STRICT, new DatetimeArithmeticImplementor(), false); defineImplementor(EXTRACT, NullPolicy.STRICT, new ExtractImplementor(), false); defineImplementor(FLOOR, NullPolicy.STRICT, new FloorImplementor(BuiltInMethod.FLOOR.method.getName(), BuiltInMethod.UNIX_TIMESTAMP_FLOOR.method, BuiltInMethod.UNIX_DATE_FLOOR.method), false); defineImplementor(CEIL, NullPolicy.STRICT, new FloorImplementor(BuiltInMethod.CEIL.method.getName(), BuiltInMethod.UNIX_TIMESTAMP_CEIL.method, defineImplementor(LIKE, NullPolicy.STRICT, likeImplementor, false); defineImplementor(NOT_LIKE, NullPolicy.STRICT, NotImplementor.of(likeImplementor), false); final MethodImplementor similarImplementor = new MethodImplementor(BuiltInMethod.SIMILAR.method);