Package org.apache.tapestry5.json
Class JSONArray
-
- org.apache.tapestry5.json.JSONCollection
-
- org.apache.tapestry5.json.JSONArray
-
- All Implemented Interfaces:
,
<>
,<>
public final class JSONArray extends JSONCollection implements <>
A dense indexed sequence of values. Values may be any mix ofJSONObjects
, otherJSONArrays
, Strings, Booleans, Integers, Longs, Doubles,null
orJSONObject.NULL
. Values may not be , , or of any type not listed here.JSONArray
has the same type coercion behavior and optional/mandatory accessors asJSONObject
. See that class' documentation for details. Warning: this class represents null in two incompatible ways: the standard Javanull
reference, and the sentinel valueJSONObject.NULL
. In particular,get
fails if the requested index holds the null reference, but succeeds if it holdsJSONObject.NULL
. Instances of this class are not thread safe.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JSONArray()
Creates aJSONArray
with no values.... values)
Creates a newJSONArray
with values from the given primitive array.json)
Creates a newJSONArray
with values from the JSON string.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
value)
Appendsvalue
to the end of this array.boolean
<? extends > collection)
Adds all objects from the collection into this JSONArray, usingadd(Object)
.void
clear()
Removes all of the values from this JSONArray.boolean
value)
Returnstrue
if this JSONArray contains the specified value.boolean
<?> c)
Returnstrue
if this JSONArray contains all of the values in the specified collection.boolean
o)
static JSONArray
<?> iterable)
Create a new array, and adds all values from the iterable to the array (usingputAll(Iterable)
.get(int index)
Returns the value atindex
.boolean
getBoolean(int index)
Returns the value atindex
if it exists and is a boolean or can be coerced to a boolean.double
getDouble(int index)
Returns the value atindex
if it exists and is a double or can be coerced to a double.int
getInt(int index)
Returns the value atindex
if it exists and is an int or can be coerced to an int.JSONArray
getJSONArray(int index)
Returns the value atindex
if it exists and is aJSONArray
.JSONObject
getJSONObject(int index)
Returns the value atindex
if it exists and is aJSONObject
.long
getLong(int index)
Returns the value atindex
if it exists and is a long or can be coerced to a long.getString(int index)
Returns the value atindex
if it exists, coercing it if necessary.int
hashCode()
boolean
isEmpty()
Returnstrue
if this array contains no values.boolean
isNull(int index)
Returns true if this array has no value atindex
, or if its value is thenull
reference orJSONObject.NULL
.<>
iterator()
Returns an iterator over the values in this array in proper sequence.int
length()
Deprecated.Usesize()
instead.JSONArray
put(int index, value)
Sets the value atindex
tovalue
, null padding this array to the required length if necessary.JSONArray
value)
Deprecated.The use ofadd(Object)
is encouraged.JSONArray
<?> collection)
Puts all objects from the collection into this JSONArray, usingput(Object)
.remove(int index)
Removes and returns the value atindex
, or null if the array has no value atindex
.boolean
value)
Removes the first occurrence of the specified value from this JSONArray, if it is present.boolean
<?> collection)
Removes from this JSONArray all of its values that are contained in the specified collection.boolean
<?> collection)
Retains only the values in this JSONArray that are contained in the specified collection.int
size()
Returns the number of values in this array.[]
toArray()
Returns an array containing all of the values in this JSONArray in proper sequence.<T> T[]
toArray(T[] array)
Returns an array containing all of the values in this JSONArray in proper sequence; the runtime type of the returned array is that of the specified array.<>
toList()
Returns an unmodifiable list of the contents of the array.-
Methods inherited from class org.apache.tapestry5.json.JSONCollection
prettyPrint, print, print, toCompactString, toString, toString
-
-
-
-
Constructor Detail
-
JSONArray
public JSONArray()
Creates aJSONArray
with no values.
-
JSONArray
public json)
Creates a newJSONArray
with values from the JSON string.- Parameters:
json
- a JSON-encoded string containing an array.- Throws:
JSONSyntaxException
- if the parse failsJSONTypeMismatchException
- if it doesn't yield aJSONArray
.
-
JSONArray
public ... values)
Creates a newJSONArray
with values from the given primitive array.- Parameters:
values
- The values to use.- Throws:
- if any of the values are non-finite double values (i.e. NaN or infinite)
-
-
Method Detail
-
from
public static <?> iterable)
Create a new array, and adds all values from the iterable to the array (usingputAll(Iterable)
. This is implemented as a static method so as not to break the semantics of the existingJSONArray(Object...)
constructor. Adding a constructor of type Iterable would change the meaning ofnew JSONArray(new JSONArray())
.- Parameters:
iterable
- collection ot value to include, or null- Since:
- 5.4
-
length
public int length()
Deprecated.Usesize()
instead.- Returns:
- Returns the number of values in this array.
-
size
public int size()
Returns the number of values in this array. If this list contains more thanInteger.MAX_VALUE
elements, returnsInteger.MAX_VALUE
.- Specified by:
in interface
<>
- Returns:
- the number of values in this array
- Since:
- 5.7
-
isEmpty
public boolean isEmpty()
Returnstrue
if this array contains no values.- Specified by:
in interface
<>
- Returns:
true
if this array contains no values- Since:
- 5.7
-
put
public value)
Deprecated.The use ofadd(Object)
is encouraged.Appendsvalue
to the end of this array.- Parameters:
value
- aJSONObject
,JSONArray
, String, Boolean, Integer, Long, Double, orJSONObject.NULL
}. May not be or . Unsupported values are not permitted and will cause the array to be in an inconsistent state.- Returns:
- this array.
-
add
public boolean value)
Appendsvalue
to the end of this array.- Specified by:
in interface
<>
- Parameters:
value
- aJSONObject
,JSONArray
, String, Boolean, Integer, Long, Double, orJSONObject.NULL
}. May not be or . Unsupported values are not permitted and will cause the array to be in an inconsistent state.- Returns:
true
(as specified by )- Since:
- 5.7
-
put
public JSONArray put(int index, value)
Sets the value atindex
tovalue
, null padding this array to the required length if necessary. If a value already exists atindex
, it will be replaced.- Parameters:
index
- Where to put the value.value
- aJSONObject
,JSONArray
, String, Boolean, Integer, Long, Double,JSONObject.NULL
, ornull
. May not be or .- Returns:
- this array.
- Throws:
- If the value cannot be represented as a finite double value.
- if the index is lower than 0
-
isNull
public boolean isNull(int index)
Returns true if this array has no value atindex
, or if its value is thenull
reference orJSONObject.NULL
.- Parameters:
index
- Which value to check.- Returns:
- true if the value is null.
-
get
public get(int index)
Returns the value atindex
.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONArrayIndexOutOfBoundsException
- if the given index is out of bounds.JSONValueNotFoundException
- if this array has no value atindex
, or if that value is thenull
reference. This method returns normally if the value isJSONObject#NULL
.
-
remove
public remove(int index)
Removes and returns the value atindex
, or null if the array has no value atindex
.- Parameters:
index
- Which value to remove.- Returns:
- The value previously at the specified location.
-
remove
public boolean value)
Removes the first occurrence of the specified value from this JSONArray, if it is present.- Specified by:
in interface
<>
- Parameters:
value
- value to be removed from this JSONArray, if present- Returns:
true
if the element was removed- Since:
- 5.7
-
removeAll
public boolean <?> collection)
Removes from this JSONArray all of its values that are contained in the specified collection.- Specified by:
in interface
<>
- Parameters:
collection
- collection containing value to be removed from this JSONArray- Returns:
true
if this JSONArray changed as a result of the call- Throws:
- if the specified collection is null.
- Since:
- 5.7
- See Also:
-
clear
public void clear()
Removes all of the values from this JSONArray.- Specified by:
in interface
<>
- Since:
- 5.7
-
retainAll
public boolean <?> collection)
Retains only the values in this JSONArray that are contained in the specified collection.- Specified by:
in interface
<>
- Parameters:
collection
- collection containing elements to be retained in this list- Returns:
true
if this list changed as a result of the call- Since:
- 5.7
-
getBoolean
public boolean getBoolean(int index)
Returns the value atindex
if it exists and is a boolean or can be coerced to a boolean.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if the value atindex
doesn't exist or cannot be coerced to a boolean.
-
getDouble
public double getDouble(int index)
Returns the value atindex
if it exists and is a double or can be coerced to a double.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if the value atindex
doesn't exist or cannot be coerced to a double.
-
getInt
public int getInt(int index)
Returns the value atindex
if it exists and is an int or can be coerced to an int.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if the value atindex
doesn't exist or cannot be coerced to a int.
-
getLong
public long getLong(int index)
Returns the value atindex
if it exists and is a long or can be coerced to a long.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if the value atindex
doesn't exist or cannot be coerced to a long.
-
getString
public getString(int index)
Returns the value atindex
if it exists, coercing it if necessary.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if no such value exists.
-
getJSONArray
public JSONArray getJSONArray(int index)
Returns the value atindex
if it exists and is aJSONArray
.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if the value doesn't exist or is not aJSONArray
.
-
getJSONObject
public JSONObject getJSONObject(int index)
Returns the value atindex
if it exists and is aJSONObject
.- Parameters:
index
- Which value to get.- Returns:
- the value at the specified location.
- Throws:
JSONTypeMismatchException
- if the value doesn't exist or is not aJSONObject
.
-
equals
public boolean o)
- Specified by:
in interface
<>
- Overrides:
in class
-
hashCode
public int hashCode()
- Specified by:
in interface
<>
- Overrides:
in class
-
putAll
public <?> collection)
Puts all objects from the collection into this JSONArray, usingput(Object)
.- Parameters:
collection
- List, array, JSONArray, or other iterable object, or null- Returns:
- this JSONArray
- Since:
- 5.4
-
addAll
public boolean <? extends > collection)
Adds all objects from the collection into this JSONArray, usingadd(Object)
.- Specified by:
in interface
<>
- Parameters:
collection
- Any collection, or null- Returns:
- boolean true, if JSONArray was changed.
- Since:
- 5.7
-
toList
public <> toList()
Returns an unmodifiable list of the contents of the array. This is a wrapper around the list's internal storage and is live (changes to the JSONArray affect the returned List).- Returns:
- unmodifiable list of array contents
- Since:
- 5.4
-
toArray
public [] toArray()
Returns an array containing all of the values in this JSONArray in proper sequence.- Specified by:
in interface
<>
- Returns:
- an array containing all of the values in this JSONArray in proper sequence
- Since:
- 5.7
-
toArray
public <T> T[] toArray(T[] array)
Returns an array containing all of the values in this JSONArray in proper sequence; the runtime type of the returned array is that of the specified array.- Specified by:
in interface
<>
- Parameters:
array
- the array into which the values of this JSONArray are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.- Returns:
- an array containing the values of this JSONArray
- Throws:
- if the runtime type of the specified array is not a supertype of the runtime type of every element in this list
- if the specified array is null
- Since:
- 5.7
-
iterator
public <> iterator()
Returns an iterator over the values in this array in proper sequence.- Specified by:
in interface
<>
- Specified by:
in interface
<>
- Returns:
- an iterator over the values in this array in proper sequence
-
contains
public boolean value)
Returnstrue
if this JSONArray contains the specified value.- Specified by:
in interface
<>
- Parameters:
value
- value whose presence in this JSONArray is to be tested- Returns:
true
if this JSONArray contains the specified value- Since:
- 5.7
-
containsAll
public boolean <?> c)
Returnstrue
if this JSONArray contains all of the values in the specified collection.- Specified by:
in interface
<>
- Parameters:
c
- collection to be checked for containment in this collection- Returns:
true
if this collection contains all of the elements in the specified collection- Throws:
- if the specified collection is null.
- Since:
- 5.7
- See Also:
contains(Object)
-
-