All Downloads are FREE. Search and download functionalities are using the official Maven repository.

co.streamx.fluent.SQL.Operators Maven / Gradle / Ivy

package co.streamx.fluent.SQL;

import java.util.Collection;

import co.streamx.fluent.notation.Function;
import co.streamx.fluent.notation.Operator;

public interface Operators {

    // Set operators
    @Function(omitParentheses = true)
    static void EXCEPT() {
        throw new UnsupportedOperationException();
    }

    @Function(omitParentheses = true)
    static void INTERSECT() {
        throw new UnsupportedOperationException();
    }

    /**
     * Same as UNION DISTINCT
     */
    @Function(omitParentheses = true)
    static void UNION() {
        throw new UnsupportedOperationException();
    }

    @Function(omitParentheses = true)
    static void UNION_ALL() {
        throw new UnsupportedOperationException();
    }

    // Logical operators
    @Function(omitParentheses = true)
    static > T ALL(T subQuery) {
        throw new UnsupportedOperationException();
    }

    @Function
    @Operator(omitParentheses = true)
    static boolean AND(boolean left,
                       boolean right) {
        throw new UnsupportedOperationException();
    }

    @Function(omitParentheses = true)
    static > T ANY(T subQuery) {
        throw new UnsupportedOperationException();
    }

    @Function(argumentsDelimiter = " AND")
    @Operator(omitParentheses = true)
    static  boolean BETWEEN(T expressionToMatch,
                               T lowLimit,
                               T highLimit) {
        throw new UnsupportedOperationException();
    };

    @Function
    @Operator(omitParentheses = true)
    static String COLLATE(String expression,
                           String collation) {
        throw new UnsupportedOperationException();
    };

    @Function(omitParentheses = true)
    static boolean EXISTS(Object subQuery) {
        throw new UnsupportedOperationException();
    }

    @SafeVarargs
    @Function
    @Operator
    static > boolean IN(T expressionToMatch,
                                                T... valuesOrCollectionOrSubQuery) {
        throw new UnsupportedOperationException();
    };

    @Function
    @Operator(omitParentheses = true)
    static > boolean IN(T expressionToMatch,
                                                Collection collection) {
        throw new UnsupportedOperationException();
    };

    @Function
    @Operator(omitParentheses = true)
    static boolean LIKE(String stringToMatch,
                        String pattern) {
        throw new UnsupportedOperationException();
    };

    @Function(argumentsDelimiter = " ESCAPE")
    @Operator(omitParentheses = true)
    static boolean LIKE(String stringToMatch,
                        String pattern,
                        char escapeCharacter) {
        throw new UnsupportedOperationException();
    };

    @Function
    @Operator(omitParentheses = true)
    static boolean SIMILAR_TO(String stringToMatch,
                              String pattern) {
        throw new UnsupportedOperationException();
    };

    @Function(argumentsDelimiter = " ESCAPE")
    @Operator(omitParentheses = true)
    static boolean SIMILAR_TO(String stringToMatch,
                              String pattern,
                              char escapeCharacter) {
        throw new UnsupportedOperationException();
    };

    @Function
    @Operator(right = false)
    static  boolean NOT(boolean expression) {
        throw new UnsupportedOperationException();
    };

    @Function
    @Operator(omitParentheses = true)
    static boolean OR(boolean left,
                      boolean right) {
        throw new UnsupportedOperationException();
    }

    @Function(omitParentheses = true)
    static > T SOME(T subQuery) {
        throw new UnsupportedOperationException();
    }

    // relational comparison

    @Function(name = "=")
    @Operator(omitParentheses = true)
    static > boolean equal(T left,
                                                   T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "!=")
    @Operator(omitParentheses = true)
    static > boolean notEqual(T left,
                                                      T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "<")
    @Operator(omitParentheses = true)
    static > boolean less(T left,
                                                  T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "<=")
    @Operator(omitParentheses = true)
    static > boolean lessEqual(T left,
                                                       T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = ">")
    @Operator(omitParentheses = true)
    static > boolean greater(T left,
                                                     T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = ">=")
    @Operator(omitParentheses = true)
    static > boolean greaterEqual(T left,
                                                          T right) {
        throw new UnsupportedOperationException();
    }

    // Math
    @Function(name = "+")
    @Operator(omitParentheses = true)
    static > T add(T left,
                                                   T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "-")
    @Operator(omitParentheses = true)
    static > T subtract(T left,
                                                        T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "*")
    @Operator(omitParentheses = true)
    static  T multiply(T left,
                                                            T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "/")
    @Operator(omitParentheses = true)
    static  T divide(T left,
                                                          T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "%")
    @Operator(omitParentheses = true)
    static  T1 modulo(T left,
                                                           T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "^")
    @Operator(omitParentheses = true)
    static  T exponent(T left,
                                                            T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "!")
    @Operator(omitParentheses = true)
    static  T factorial(T left) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "&")
    @Operator(omitParentheses = true)
    static  T bitwiseAND(T left,
                                           T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "|")
    @Operator(omitParentheses = true)
    static  T bitwiseOR(T left,
                                          T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "~")
    @Operator(omitParentheses = true, right = false)
    static  T bitwiseNOT(T left) {
        throw new UnsupportedOperationException();
    }

    @Function(name = "<<")
    @Operator(omitParentheses = true)
    static  T shiftLeft(T left,
                                          T right) {
        throw new UnsupportedOperationException();
    }

    @Function(name = ">>")
    @Operator(omitParentheses = true)
    static  T shiftRight(T left,
                                           T right) {
        throw new UnsupportedOperationException();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy