Package jsonvalues

Interface JsValue

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      int id()  
      default JsValue ifNothing​(JsValue value)
      returns the specified default value if nothing or the same this object
      default JsValue ifNull​(JsValue value)
      returns the specified default value if null or the same this object
      default boolean isArray()
      Returns true if this JsValue is a JsArray
      default boolean isArray​(java.util.function.Predicate<JsArray> predicate)
      Returns true if this elem is a JsArray and satisfies the given predicate
      default boolean isBigDec()
      Returns true if this JsValue is a JsBigDec
      default boolean isBigDec​(java.util.function.Predicate<java.math.BigDecimal> predicate)
      Returns true if this elem is a JsBigDec and satisfies the given predicate
      default boolean isBigInt()
      Returns true if this JsValue is a JsBigInt
      default boolean isBigInt​(java.util.function.Predicate<java.math.BigInteger> predicate)
      Returns true if this elem is a JsBigInt and satisfies the given predicate
      default boolean isBinary()
      Returns true if this JsValue is a JsBinary or a JsString which value is an array of
      default boolean isBool()
      Returns true if this JsValue is a JsBool
      default boolean isDecimal()
      Returns true if this element is an decimal number (JsDouble or JsBigDec)
      default boolean isDouble()
      Returns true if this JsValue is a JsDouble
      default boolean isDouble​(java.util.function.DoublePredicate predicate)
      Returns true if this elem is a JsDouble and satisfies the given predicate
      default boolean isFalse()
      Returns true if this JsValue is a JsBool, and it's false
      default boolean isInstant()
      Returns true if this JsValue is a JsInstant or a JsString which value is a date formatted in ISO-8601
      default boolean isInstant​(java.util.function.Predicate<java.time.Instant> predicate)
      Returns true if this elem is a JsInstant and satisfies the given predicate
      default boolean isInt()
      Returns true if this JsValue is a JsInt
      default boolean isInt​(java.util.function.IntPredicate predicate)
      Returns true if this elem is a JsInt and satisfies the given predicate
      default boolean isIntegral()
      Returns true if this element is an integral number (JsInt or JsLong or JsBigInt)
      default boolean isJson()
      Returns true if this JsValue is a Json (JsObj or JsArray)
      default boolean isJson​(java.util.function.Predicate<Json<?>> predicate)
      Returns true if this elem is a Json and satisfies the given predicate
      default boolean isLong()
      Returns this JsValue as a JsLong
      default boolean isLong​(java.util.function.LongPredicate predicate)
      Returns true if this elem is a JsLong and satisfies the given predicate
      default boolean isNothing()
      Returns true if this element is JsNothing
      default boolean isNotNothing()
      Returns true if this element is not JsNothing
      default boolean isNotNull()
      Return true if this element is not null
      default boolean isNotNumber()
      Returns true if this element is not a number
      default boolean isNull()
      Returns true if this element is null
      default boolean isNumber()
      Returns true if this element is a number
      default boolean isObj()
      Returns true if this JsValue is a JsObj
      default boolean isObj​(java.util.function.Predicate<JsObj> predicate)
      Returns true if this elem is a JsObj and satisfies the given predicate
      default boolean isPrimitive()
      Returns true if this JsValue is a not a Json (neither JsObj nor JsArray)
      default boolean isSameType​(JsValue that)
      returns true if this elem and the given have the same type
      default boolean isStr()
      Returns true if this JsValue is a JsStr
      default boolean isStr​(java.util.function.Predicate<java.lang.String> predicate)
      Returns true if this elem is a JsStr and satisfies the given predicate
      default boolean isTrue()
      Returns true if this JsValue is a JsBool, and it's true
      default JsArray toJsArray()
      Returns this JsValue as a JsArray
      default JsBigDec toJsBigDec()
      Returns this JsValue as a JsBigDec
      default JsBigInt toJsBigInt()
      Retruns this JsValue as a JsBigInt
      default JsBinary toJsBinary()
      Returns this JsValue as a JsBinary
      default JsBool toJsBool()
      Returns this JsValue as a JsBool
      default JsDouble toJsDouble()
      Returns this JsValue as a JsDouble
      default JsInstant toJsInstant()
      Returns this JsValue as a JsInstant
      default JsInt toJsInt()
      Returns this JsValue as a JsInt
      default JsLong toJsLong()
      Returns this JsValue as a JsLong
      default JsNumber toJsNumber()
      Returns this JsValue as a JsStr
      default JsObj toJsObj()
      Returns this JsValue as a JsObj
      default Json<?> toJson()
      Returns this JsValue as a Json
      JsPrimitive toJsPrimitive()  
      default JsStr toJsStr()
      Returns this JsValue as a JsStr
    • Method Detail

      • id

        int id()
      • toJsBool

        default JsBool toJsBool()
        Returns this JsValue as a JsBool
        Returns:
        this JsValue as a JsBool
        Throws:
        UserError - if this JsValue is not a JsBool
      • isBinary

        default boolean isBinary()
        Returns true if this JsValue is a JsBinary or a JsString which value is an array of
        Returns:
        true if this JsValue is a JsBinary or a JsString which value is an array of bytes encoded in base64
      • isInstant

        default boolean isInstant()
        Returns true if this JsValue is a JsInstant or a JsString which value is a date formatted in ISO-8601
        Returns:
        true if this JsValue is a JsInstant or a JsString which value is a date formatted in ISO-8601
      • isInstant

        default boolean isInstant​(java.util.function.Predicate<java.time.Instant> predicate)
        Returns true if this elem is a JsInstant and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsInstant and satisfies the predicate
      • isBool

        default boolean isBool()
        Returns true if this JsValue is a JsBool
        Returns:
        true if this JsValue is a JsBool
      • isSameType

        default boolean isSameType​(JsValue that)
        returns true if this elem and the given have the same type
        Parameters:
        that - the given elem
        Returns:
        true if this JsValue and the given have the same type
      • isTrue

        default boolean isTrue()
        Returns true if this JsValue is a JsBool, and it's true
        Returns:
        true if this JsValue is a JsBool, and it's true
      • isFalse

        default boolean isFalse()
        Returns true if this JsValue is a JsBool, and it's false
        Returns:
        true if this JsValue is a JsBool, and it's false
      • isInt

        default boolean isInt​(java.util.function.IntPredicate predicate)
        Returns true if this elem is a JsInt and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsInt and satisfies the predicate
      • isInt

        default boolean isInt()
        Returns true if this JsValue is a JsInt
        Returns:
        true if this JsValue is a JsInt
      • toJsInt

        default JsInt toJsInt()
        Returns this JsValue as a JsInt
        Returns:
        this JsValue as a JsInt
        Throws:
        UserError - if this JsValue is not a JsInt
      • toJsInstant

        default JsInstant toJsInstant()
        Returns this JsValue as a JsInstant
        Returns:
        this JsValue as a JsInstant
        Throws:
        UserError - if this JsValue is not a JsInt
      • toJsBinary

        default JsBinary toJsBinary()
        Returns this JsValue as a JsBinary
        Returns:
        this JsValue as a JsBinary
        Throws:
        UserError - if this JsValue is not a JsBinary
      • isDouble

        default boolean isDouble​(java.util.function.DoublePredicate predicate)
        Returns true if this elem is a JsDouble and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsDouble and satisfies the predicate
      • isDouble

        default boolean isDouble()
        Returns true if this JsValue is a JsDouble
        Returns:
        true if this JsValue is a JsDouble
      • toJsDouble

        default JsDouble toJsDouble()
        Returns this JsValue as a JsDouble
        Returns:
        this JsValue as a JsDouble
        Throws:
        UserError - if this JsValue is not a JsDouble
      • isBigDec

        default boolean isBigDec​(java.util.function.Predicate<java.math.BigDecimal> predicate)
        Returns true if this elem is a JsBigDec and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsBigDec and satisfies the predicate
      • isBigDec

        default boolean isBigDec()
        Returns true if this JsValue is a JsBigDec
        Returns:
        true if this JsValue is a JsBigDec
      • toJsBigDec

        default JsBigDec toJsBigDec()
        Returns this JsValue as a JsBigDec
        Returns:
        this JsValue as a JsBigDec
        Throws:
        UserError - if this JsValue is not a JsBigDec or a JsDouble
      • isLong

        default boolean isLong​(java.util.function.LongPredicate predicate)
        Returns true if this elem is a JsLong and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsLong and satisfies the predicate
      • isLong

        default boolean isLong()
        Returns this JsValue as a JsLong
        Returns:
        true if this JsValue is a JsLong
      • toJsLong

        default JsLong toJsLong()
        Returns this JsValue as a JsLong
        Returns:
        this JsValue as a JsLong
        Throws:
        UserError - if this JsValue is not a JsLong or a JsInt
      • isPrimitive

        default boolean isPrimitive()
        Returns true if this JsValue is a not a Json (neither JsObj nor JsArray)
        Returns:
        true if this JsValue is a not a Json (neither JsObj nor JsArray)
      • isJson

        default boolean isJson()
        Returns true if this JsValue is a Json (JsObj or JsArray)
        Returns:
        true if this JsValue is a Json (JsObj or JsArray)
      • isObj

        default boolean isObj()
        Returns true if this JsValue is a JsObj
        Returns:
        true if this JsValue is a JsObj
      • isArray

        default boolean isArray()
        Returns true if this JsValue is a JsArray
        Returns:
        true if this JsValue is a JsArray
      • isJson

        default boolean isJson​(java.util.function.Predicate<Json<?>> predicate)
        Returns true if this elem is a Json and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a Json and satisfies the predicate
      • toJson

        default Json<?> toJson()
        Returns this JsValue as a Json
        Returns:
        this JsValue as a Json
        Throws:
        UserError - if this JsValue is not a JsObj or a JsArray
      • toJsObj

        default JsObj toJsObj()
        Returns this JsValue as a JsObj
        Returns:
        this JsValue as a JsObj
        Throws:
        UserError - if this JsValue is not a JsObj
      • toJsArray

        default JsArray toJsArray()
        Returns this JsValue as a JsArray
        Returns:
        this JsValue as a JsArray
        Throws:
        UserError - if this JsValue is not a JsArray
      • isObj

        default boolean isObj​(java.util.function.Predicate<JsObj> predicate)
        Returns true if this elem is a JsObj and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsObj and satisfies the predicate
      • isArray

        default boolean isArray​(java.util.function.Predicate<JsArray> predicate)
        Returns true if this elem is a JsArray and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsArray and satisfies the predicate
      • toJsNumber

        default JsNumber toJsNumber()
        Returns this JsValue as a JsStr
        Returns:
        this JsValue as a JsStr
        Throws:
        UserError - if this JsValue is not a JsStr
      • isBigInt

        default boolean isBigInt​(java.util.function.Predicate<java.math.BigInteger> predicate)
        Returns true if this elem is a JsBigInt and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsBigInt and satisfies the predicate
      • isBigInt

        default boolean isBigInt()
        Returns true if this JsValue is a JsBigInt
        Returns:
        true if this JsValue is a JsBigInt
      • toJsBigInt

        default JsBigInt toJsBigInt()
        Retruns this JsValue as a JsBigInt
        Returns:
        this JsValue as a JsBigInt
        Throws:
        UserError - if this JsValue is not a JsBigInt or JsLong or JsInt
      • isStr

        default boolean isStr​(java.util.function.Predicate<java.lang.String> predicate)
        Returns true if this elem is a JsStr and satisfies the given predicate
        Parameters:
        predicate - the given predicate
        Returns:
        true if this JsValue is a JsStr and satisfies the predicate
      • isStr

        default boolean isStr()
        Returns true if this JsValue is a JsStr
        Returns:
        true if this JsValue is a JsStr
      • toJsStr

        default JsStr toJsStr()
        Returns this JsValue as a JsStr
        Returns:
        this JsValue as a JsStr
        Throws:
        UserError - if this JsValue is not a JsStr
      • isIntegral

        default boolean isIntegral()
        Returns true if this element is an integral number (JsInt or JsLong or JsBigInt)
        Returns:
        true if this element is an integral number (JsInt or JsLong or JsBigInt)
      • isDecimal

        default boolean isDecimal()
        Returns true if this element is an decimal number (JsDouble or JsBigDec)
        Returns:
        true if this element is an decimal number (JsDouble or JsBigDec)
      • isNotNull

        default boolean isNotNull()
        Return true if this element is not null
        Returns:
        true if this element is not null
      • isNull

        default boolean isNull()
        Returns true if this element is null
        Returns:
        true if this element is null
      • isNotNothing

        default boolean isNotNothing()
        Returns true if this element is not JsNothing
        Returns:
        true if this element is not JsNothing
      • isNothing

        default boolean isNothing()
        Returns true if this element is JsNothing
        Returns:
        true if this element is JsNothing
      • isNotNumber

        default boolean isNotNumber()
        Returns true if this element is not a number
        Returns:
        true if this element is not a number
      • isNumber

        default boolean isNumber()
        Returns true if this element is a number
        Returns:
        true if this element is a number
      • ifNull

        default JsValue ifNull​(JsValue value)
        returns the specified default value if null or the same this object
        Parameters:
        value - the default value
        Returns:
        a json value
      • ifNothing

        default JsValue ifNothing​(JsValue value)
        returns the specified default value if nothing or the same this object
        Parameters:
        value - the default value
        Returns:
        a json value