- java.lang.Object
-
- net.hamnaberg.json.Json.JValue
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
Json.JArray,Json.JBoolean,Json.JNull,Json.JNumber,Json.JObject,Json.JString
- Enclosing class:
- Json
public abstract static class Json.JValue extends java.lang.Object implements java.io.Serializable- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.Optional<java.math.BigDecimal>asBigDecimal()java.util.Optional<java.lang.Boolean>asBoolean()java.util.Optional<Json.JArray>asJsonArray()Json.JArrayasJsonArrayOrEmpty()java.util.Optional<Json.JBoolean>asJsonBoolean()java.util.Optional<Json.JNull>asJsonNull()java.util.Optional<Json.JNumber>asJsonNumber()java.util.Optional<Json.JObject>asJsonObject()Json.JObjectasJsonObjectOrEmpty()java.util.Optional<Json.JString>asJsonString()Json.JValueasJValue()java.util.Optional<java.lang.String>asString()Json.JValuedeepmerge(Json.JValue value)Perform a deep merge of this JSON value with another JSON value.abstract booleanequals(java.lang.Object obj)abstract <X> Xfold(java.util.function.Function<Json.JString,X> fString, java.util.function.Function<Json.JBoolean,X> fBoolean, java.util.function.Function<Json.JNumber,X> fNumber, java.util.function.Function<Json.JObject,X> fObject, java.util.function.Function<Json.JArray,X> fArray, java.util.function.Supplier<X> fNull)abstract voidfoldUnit(java.util.function.Consumer<Json.JString> fString, java.util.function.Consumer<Json.JBoolean> fBoolean, java.util.function.Consumer<Json.JNumber> fNumber, java.util.function.Consumer<Json.JObject> fObject, java.util.function.Consumer<Json.JArray> fArray, java.lang.Runnable fNull)abstract inthashCode()booleanisArray()booleanisBoolean()booleanisNull()booleanisNumber()booleanisObject()booleanisScalar()booleanisString()Json.JValuemapJson(java.util.function.Function<Json.JValue,Json.JValue> f)java.lang.Stringnospaces()java.lang.Stringpretty(PrettyPrinter p)java.util.Optional<java.lang.String>scalarToString()java.lang.Stringspaces2()java.lang.Stringspaces4()abstract java.lang.StringtoString()This is NOT the json representation.
-
-
-
Method Detail
-
equals
public abstract boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public abstract int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public abstract java.lang.String toString()
This is NOT the json representation. For that you will need to usepretty(PrettyPrinter).- Overrides:
toStringin classjava.lang.Object- Returns:
- as String describing the data structure.
-
fold
public abstract <X> X fold(java.util.function.Function<Json.JString,X> fString, java.util.function.Function<Json.JBoolean,X> fBoolean, java.util.function.Function<Json.JNumber,X> fNumber, java.util.function.Function<Json.JObject,X> fObject, java.util.function.Function<Json.JArray,X> fArray, java.util.function.Supplier<X> fNull)
-
foldUnit
public abstract void foldUnit(java.util.function.Consumer<Json.JString> fString, java.util.function.Consumer<Json.JBoolean> fBoolean, java.util.function.Consumer<Json.JNumber> fNumber, java.util.function.Consumer<Json.JObject> fObject, java.util.function.Consumer<Json.JArray> fArray, java.lang.Runnable fNull)
-
asJsonArray
public final java.util.Optional<Json.JArray> asJsonArray()
-
asJsonArrayOrEmpty
public final Json.JArray asJsonArrayOrEmpty()
-
asJsonObject
public final java.util.Optional<Json.JObject> asJsonObject()
-
asJsonObjectOrEmpty
public final Json.JObject asJsonObjectOrEmpty()
-
asJsonBoolean
public final java.util.Optional<Json.JBoolean> asJsonBoolean()
-
asBoolean
public final java.util.Optional<java.lang.Boolean> asBoolean()
-
asJsonNull
public final java.util.Optional<Json.JNull> asJsonNull()
-
asJsonString
public final java.util.Optional<Json.JString> asJsonString()
-
asString
public final java.util.Optional<java.lang.String> asString()
-
asJsonNumber
public final java.util.Optional<Json.JNumber> asJsonNumber()
-
asBigDecimal
public final java.util.Optional<java.math.BigDecimal> asBigDecimal()
-
isObject
public final boolean isObject()
-
isArray
public final boolean isArray()
-
isString
public final boolean isString()
-
isNull
public final boolean isNull()
-
isBoolean
public final boolean isBoolean()
-
isNumber
public final boolean isNumber()
-
isScalar
public final boolean isScalar()
-
mapJson
public final Json.JValue mapJson(java.util.function.Function<Json.JValue,Json.JValue> f)
-
scalarToString
public final java.util.Optional<java.lang.String> scalarToString()
-
deepmerge
public final Json.JValue deepmerge(Json.JValue value)
Perform a deep merge of this JSON value with another JSON value.Objects are merged by key, values from the argument JSON take precedence over values from this JSON. Nested objects are recursed.
Null, Array, Boolean, String and Number are treated as values, and values from the argument JSON completely replace values from this JSON.
-
asJValue
public final Json.JValue asJValue()
-
nospaces
public final java.lang.String nospaces()
-
spaces2
public final java.lang.String spaces2()
-
spaces4
public final java.lang.String spaces4()
-
pretty
public final java.lang.String pretty(PrettyPrinter p)
-
-