Class JsSpecs


  • public class JsSpecs
    extends Object
    • Field Detail

      • any

        public static JsSpec any
        spec that is conformed by any value
      • str

        public static JsSpec str
        non-nullable string
      • number

        public static JsSpec number
        non-nullable number
      • bool

        public static JsSpec bool
        non-nullable boolean
      • decimal

        public static JsSpec decimal
        non-nullable decimal number
      • integral

        public static JsSpec integral
        non-nullable integral number
      • longInteger

        public static JsSpec longInteger
        non-nullable long number
      • integer

        public static JsSpec integer
        non-nullable integer number
      • TRUE

        public static JsSpec TRUE
        true constant spec
      • FALSE

        public static JsSpec FALSE
        false constant spec
      • obj

        public static JsSpec obj
        non-nullable json object spec
      • array

        public static JsArraySpec array
        non-nullable array spec
      • arrayOfLong

        public static JsArraySpec arrayOfLong
        non-nullable array of long numbers spec
      • arrayOfInt

        public static JsArraySpec arrayOfInt
        non-nullable array of integer numbers spec
      • arrayOfStr

        public static JsArraySpec arrayOfStr
        non-nullable array of strings spec
      • arrayOfBool

        public static JsArraySpec arrayOfBool
        non-nullable array of booleans spec
      • arrayOfDec

        public static JsArraySpec arrayOfDec
        non-nullable array of decimal numbers spec
      • arrayOfNumber

        public static JsArraySpec arrayOfNumber
        non-nullable array of numbers spec
      • arrayOfIntegral

        public static JsArraySpec arrayOfIntegral
        non-nullable array of integral numbers spec
      • arrayOfObj

        public static JsArraySpec arrayOfObj
        non-nullable array of objects spec
    • Constructor Detail

      • JsSpecs

        public JsSpecs()
    • Method Detail

      • arrayOf

        public static JsArraySpec arrayOf​(JsObjSpec spec)
        A required and none nullable spec that specifies an array of objects that conform the given spec
        Parameters:
        spec - the given spec that every object in the array has to conform
        Returns:
        a spec
      • str

        public static JsSpec str​(Predicate<String> predicate)
        non-nullable string that satisfies the given predicate
        Parameters:
        predicate - the predicate
        Returns:
        a JsSpec
      • number

        public static JsSpec number​(Predicate<JsNumber> predicate)
        non-nullable number that satisfies the given predicate
        Parameters:
        predicate - the predicate
        Returns:
        a JsSpec
      • arrayOfIntSuchThat

        public static JsArraySpec arrayOfIntSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of numbers that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • arrayOfDec

        public static JsArraySpec arrayOfDec​(Predicate<BigDecimal> predicate)
        non-nullable array of decimal numbers, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each decimal number of the array is tested on
        Returns:
        an array spec
      • arrayOfDecSuchThat

        public static JsArraySpec arrayOfDecSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of decimal numbers that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • arrayOfIntegral

        public static JsArraySpec arrayOfIntegral​(Predicate<BigInteger> predicate)
        non-nullable array of integral numbers, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each integral number of the array is tested on
        Returns:
        an array spec
      • arrayOfIntegralSuchThat

        public static JsArraySpec arrayOfIntegralSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of integral numbers that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • arrayOfNumber

        public static JsArraySpec arrayOfNumber​(Predicate<JsNumber> predicate)
        non-nullable array of numbers, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each number of the array is tested on
        Returns:
        an array spec
      • arrayOfNumberSuchThat

        public static JsArraySpec arrayOfNumberSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of numbers that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • arrayOfObj

        public static JsArraySpec arrayOfObj​(Predicate<JsObj> predicate)
        non-nullable array of objects, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each object of the array is tested on
        Returns:
        an array spec
      • arrayOfObjSuchThat

        public static JsArraySpec arrayOfObjSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of objects that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • integer

        public static JsSpec integer​(IntPredicate predicate)
        non-nullable integer number that satisfies the given predicate
        Parameters:
        predicate - the predicate the integer is tested on
        Returns:
        a spec
      • arrayOfStrSuchThat

        public static JsArraySpec arrayOfStrSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of strings that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • array

        public static JsArraySpec array​(Predicate<JsValue> predicate)
        non-nullable array, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each value of the array is tested on
        Returns:
        an array spec
      • arrayOfLong

        public static JsArraySpec arrayOfLong​(LongPredicate predicate)
        non-nullable array of long numbers, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each long number of the array is tested on
        Returns:
        an array spec
      • arrayOfBoolSuchThat

        public static JsArraySpec arrayOfBoolSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of booleans that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • longInteger

        public static JsSpec longInteger​(LongPredicate predicate)
        non-nullable long number that satisfies the given predicate
        Parameters:
        predicate - the predicate the long is tested on
        Returns:
        a spec
      • decimal

        public static JsSpec decimal​(Predicate<BigDecimal> predicate)
        non-nullable decimal number that satisfies the given predicate
        Parameters:
        predicate - the predicate the decimal is tested on
        Returns:
        a spec
      • integral

        public static JsSpec integral​(Predicate<BigInteger> predicate)
        non-nullable integral number that satisfies the given predicate
        Parameters:
        predicate - the predicate the integral number is tested on
        Returns:
        a spec
      • arrayOfStr

        public static JsArraySpec arrayOfStr​(Predicate<String> predicate)
        non-nullable array of strings, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each string of the array is tested on
        Returns:
        an array spec
      • any

        public static JsSpec any​(Predicate<JsValue> predicate)
        returns a spec that conforms any value that is evaluated to true on the predicate. When the type is not specified by the spec, positive numbers are parsed as Long by default, which has to be taken into account in order to define any condition.
        Parameters:
        predicate - the predicate
        Returns:
        a spec
      • obj

        public static JsSpec obj​(Predicate<JsObj> predicate)
        non-nullable json object that satisfies the given predicate
        Parameters:
        predicate - the predicate the json object is tested on
        Returns:
        a spec
      • arrayOfLongSuchThat

        public static JsArraySpec arrayOfLongSuchThat​(Predicate<JsArray> predicate)
        non-nullable array of long numbers that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • arraySuchThat

        public static JsArraySpec arraySuchThat​(Predicate<JsArray> predicate)
        non-nullable array that satisfies the given predicate
        Parameters:
        predicate - the predicate the array is tested on
        Returns:
        an array spec
      • arrayOfInt

        public static JsArraySpec arrayOfInt​(IntPredicate predicate)
        non-nullable array of integer numbers, where each element of the array satisfies the given predicate
        Parameters:
        predicate - the predicate each integer number of the array is tested on
        Returns:
        an array spec
      • tuple

        public static JsTupleSpec tuple​(JsSpec spec,
                                        JsSpec... others)
        returns a tuple spec. Each nth-element of the tuple is specified by the nth given spec
        Parameters:
        spec - the spec of the first element
        others - the rest of specs
        Returns:
        a spec