Enum Expression

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Expression>

    public enum Expression
    extends java.lang.Enum<Expression>
    • Method Detail

      • values

        public static Expression[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Expression c : Expression.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Expression valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • evaluateDocument

        public static java.lang.Object evaluateDocument​(java.lang.Object documentWithExpression,
                                                        Document document)
      • name

        public abstract java.lang.String name()
      • requireSingleValue

        public default java.lang.Object requireSingleValue​(java.util.List<?> list)
      • requireSingleStringValue

        public default java.lang.String requireSingleStringValue​(java.util.List<?> expressionValue)
      • evaluateNumericValue

        public default java.lang.Number evaluateNumericValue​(java.util.List<?> expressionValue,
                                                             java.util.function.Function<java.lang.Double,​? extends java.lang.Number> function)
      • evaluateComparison

        public default int evaluateComparison​(java.util.List<?> expressionValue)
      • evaluateComparison

        public default boolean evaluateComparison​(java.util.List<?> expressionValue,
                                                  java.util.function.IntPredicate comparison)
      • evaluateDateTime

        public default <T> T evaluateDateTime​(java.util.List<?> expressionValue,
                                              java.util.function.Function<java.time.ZonedDateTime,​T> dateFunction,
                                              Document document)
      • evaluateDate

        public default <T> T evaluateDate​(java.util.List<?> expressionValue,
                                          java.util.function.Function<java.time.LocalDate,​T> dateFunction,
                                          Document document)
      • evaluateTime

        public default <T> T evaluateTime​(java.util.List<?> expressionValue,
                                          java.util.function.Function<java.time.LocalTime,​T> timeFunction,
                                          Document document)
      • requireCollectionInSize

        public default void requireCollectionInSize​(java.util.List<?> value,
                                                    int expectedCollectionSize)
      • requireTwoParameters

        public default de.bwaldvogel.mongo.backend.aggregation.TwoParameters requireTwoParameters​(java.util.List<?> parameters)
      • requireTwoNumericParameters

        public default de.bwaldvogel.mongo.backend.aggregation.TwoNumericParameters requireTwoNumericParameters​(java.util.List<?> value,
                                                                                                                int errorCode)
      • getZonedDateTime

        public default java.time.ZonedDateTime getZonedDateTime​(java.lang.Object value,
                                                                Document document)
      • requireIntegral

        public default int requireIntegral​(java.lang.Object value,
                                           java.lang.String name)
      • assertTwoToFourArguments

        public default java.lang.Object assertTwoToFourArguments​(java.util.List<?> expressionValue)
      • evaluateIndexOf

        public default <T> java.lang.Object evaluateIndexOf​(java.util.List<?> expressionValue,
                                                            java.util.function.Function<java.lang.String,​java.util.List<T>> toList,
                                                            int errorCodeFirstParameterTypeMismatch,
                                                            int errorCodeSecondParameterTypeMismatch)
      • indexOf

        public default Range indexOf​(java.util.List<?> expressionValue,
                                     int size)
      • requireArray

        public default java.util.Collection<?> requireArray​(int errorCode,
                                                            java.lang.Object value)
      • requireDocument

        public default Document requireDocument​(java.lang.Object expressionValue,
                                                int errorCode)
      • evaluateString

        public default java.lang.String evaluateString​(java.util.List<?> expressionValue,
                                                       java.util.function.Function<java.lang.String,​java.lang.String> function)
      • convertToString

        public default java.lang.String convertToString​(java.lang.Object value)