|
Eclipse Remote Application Platform | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.rap.json.JsonValue
public abstract class JsonValue
Represents a JSON value. According to RFC 4627, a JSON value must be an object, an array, a number, a string, or one of the literal names true, false, and null.
The literal names true, false, and null are
represented by the constants TRUE
, FALSE
, and NULL
.
JSON objects and arrays are represented by the subtypes
JsonObject
and JsonArray
. Instances of these types can be created using the
public constructors.
Instances for JSON numbers and strings can be created using the
static factory methods valueOf(String)
, valueOf(long)
, valueOf(double)
, etc.
In order to find out whether an instance of this class is of a certain type, the methods
isObject()
, isArray()
, isString()
, isNumber()
etc. can be
used.
If there is no doubt about the type of a JSON value, one of the methods asObject()
,
asArray()
, asString()
, asInt()
, etc. can be used to get this value
directly in the appropriate target type.
This class is not supposed to be extended by clients.
Field Summary | |
---|---|
static JsonValue |
FALSE
Represents the JSON literal false . |
static JsonValue |
NULL
The JSON literal null . |
static JsonValue |
TRUE
Represents the JSON literal true . |
Method Summary | |
---|---|
JsonArray |
asArray()
Returns this JSON value as JsonArray , assuming that this value represents a JSON
array. |
boolean |
asBoolean()
Returns this JSON value as a boolean value, assuming that this value is either
true or false . |
double |
asDouble()
Returns this JSON value as a double value, assuming that this value represents a
JSON number. |
float |
asFloat()
Returns this JSON value as a float value, assuming that this value represents a
JSON number. |
int |
asInt()
Returns this JSON value as an int value, assuming that this value represents a
JSON number that can be interpreted as Java int . |
long |
asLong()
Returns this JSON value as a long value, assuming that this value represents a
JSON number that can be interpreted as Java long . |
JsonObject |
asObject()
Returns this JSON value as JsonObject , assuming that this value represents a JSON
object. |
java.lang.String |
asString()
Returns this JSON value as String, assuming that this value represents a JSON string. |
boolean |
equals(java.lang.Object object)
Indicates whether some other object is "equal to" this one according to the contract specified in Object.equals(Object) . |
int |
hashCode()
|
boolean |
isArray()
Detects whether this value represents a JSON array. |
boolean |
isBoolean()
Detects whether this value represents a boolean value. |
boolean |
isFalse()
Detects whether this value represents the JSON literal false . |
boolean |
isNull()
Detects whether this value represents the JSON literal null . |
boolean |
isNumber()
Detects whether this value represents a JSON number. |
boolean |
isObject()
Detects whether this value represents a JSON object. |
boolean |
isString()
Detects whether this value represents a JSON string. |
boolean |
isTrue()
Detects whether this value represents the JSON literal true . |
static JsonValue |
readFrom(java.io.Reader reader)
Reads a JSON value from the given reader. |
static JsonValue |
readFrom(java.lang.String text)
Reads a JSON value from the given string. |
java.lang.String |
toString()
Returns the JSON string for this value in its minimal form, without any additional whitespace. |
static JsonValue |
valueOf(boolean value)
Returns a JsonValue instance that represents the given boolean value. |
static JsonValue |
valueOf(double value)
Returns a JsonValue instance that represents the given double value. |
static JsonValue |
valueOf(float value)
Returns a JsonValue instance that represents the given float value. |
static JsonValue |
valueOf(long value)
Returns a JsonValue instance that represents the given long value. |
static JsonValue |
valueOf(java.lang.String string)
Returns a JsonValue instance that represents the given string. |
protected abstract void |
write(org.eclipse.rap.json.JsonWriter writer)
|
void |
writeTo(java.io.Writer writer)
Writes the JSON representation for this object to the given writer. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final JsonValue TRUE
true
.
public static final JsonValue FALSE
false
.
public static final JsonValue NULL
null
.
Method Detail |
---|
public static JsonValue readFrom(java.io.Reader reader) throws java.io.IOException
reader
- the reader to read the JSON value from
java.io.IOException
- if an I/O error occurs in the reader
ParseException
- if the input is not valid JSONpublic static JsonValue readFrom(java.lang.String text)
text
- the string that contains the JSON value
ParseException
- if the input is not valid JSONpublic static JsonValue valueOf(long value)
long
value.
value
- the value to get a JSON representation for
public static JsonValue valueOf(float value)
float
value.
value
- the value to get a JSON representation for
public static JsonValue valueOf(double value)
double
value.
value
- the value to get a JSON representation for
public static JsonValue valueOf(java.lang.String string)
string
- the string to get a JSON representation for
public static JsonValue valueOf(boolean value)
boolean
value.
value
- the value to get a JSON representation for
public boolean isObject()
JsonObject
.
true
if this value is an instance of JsonObjectpublic boolean isArray()
JsonArray
.
true
if this value is an instance of JsonArraypublic boolean isNumber()
true
if this value represents a JSON numberpublic boolean isString()
true
if this value represents a JSON stringpublic boolean isBoolean()
true
if this value represents either the JSON literal
true
or false
public boolean isTrue()
true
.
true
if this value represents the JSON literal
true
public boolean isFalse()
false
.
true
if this value represents the JSON literal
false
public boolean isNull()
null
.
true
if this value represents the JSON literal
null
public JsonObject asObject()
JsonObject
, assuming that this value represents a JSON
object. If this is not the case, an exception is thrown.
java.lang.UnsupportedOperationException
- if this value is not a JSON objectpublic JsonArray asArray()
JsonArray
, assuming that this value represents a JSON
array. If this is not the case, an exception is thrown.
java.lang.UnsupportedOperationException
- if this value is not a JSON arraypublic int asInt()
int
value, assuming that this value represents a
JSON number that can be interpreted as Java int
. If this is not the case, an
exception is thrown.
To be interpreted as Java int
, the JSON number must neither contain an exponent
nor a fraction part. Moreover, the number must be in the Integer
range.
int
java.lang.UnsupportedOperationException
- if this value is not a JSON number
java.lang.NumberFormatException
- if this JSON number can not be interpreted as int
valuepublic long asLong()
long
value, assuming that this value represents a
JSON number that can be interpreted as Java long
. If this is not the case, an
exception is thrown.
To be interpreted as Java long
, the JSON number must neither contain an exponent
nor a fraction part. Moreover, the number must be in the Long
range.
long
java.lang.UnsupportedOperationException
- if this value is not a JSON number
java.lang.NumberFormatException
- if this JSON number can not be interpreted as long
valuepublic float asFloat()
float
value, assuming that this value represents a
JSON number. If this is not the case, an exception is thrown.
If the JSON number is out of the Float
range, Float.POSITIVE_INFINITY
or
Float.NEGATIVE_INFINITY
is returned.
float
java.lang.UnsupportedOperationException
- if this value is not a JSON numberpublic double asDouble()
double
value, assuming that this value represents a
JSON number. If this is not the case, an exception is thrown.
If the JSON number is out of the Double
range, Double.POSITIVE_INFINITY
or
Double.NEGATIVE_INFINITY
is returned.
double
java.lang.UnsupportedOperationException
- if this value is not a JSON numberpublic java.lang.String asString()
java.lang.UnsupportedOperationException
- if this value is not a JSON stringpublic boolean asBoolean()
boolean
value, assuming that this value is either
true
or false
. If this is not the case, an exception is thrown.
boolean
java.lang.UnsupportedOperationException
- if this value is neither true
or false
public void writeTo(java.io.Writer writer) throws java.io.IOException
writer
- the writer to write this value to
java.io.IOException
- if an I/O error occurs in the writerpublic java.lang.String toString()
readFrom(String)
and to
create a value that is equal to this object.
toString
in class java.lang.Object
public boolean equals(java.lang.Object object)
Object.equals(Object)
.
Two JsonValues are considered equal if and only if they represent the same JSON text. As a consequence, two given JsonObjects may be different even though they contain the same set of names with the same values, but in a different order.
equals
in class java.lang.Object
object
- the reference object with which to compare
public int hashCode()
hashCode
in class java.lang.Object
protected abstract void write(org.eclipse.rap.json.JsonWriter writer) throws java.io.IOException
java.io.IOException
|
Eclipse Remote Application Platform | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright (c) EclipseSource and others 2002, 2013. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0