Package org.camunda.spin.json
Class SpinJsonNode
- Direct Known Subclasses:
JacksonJsonNode
A json node.
- Author:
- Thorben Lindhauer, Stefan Hentschel
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract SpinJsonNode
Appends a object to the end of the current array nodeabstract Boolean
Get this node as a boolean value.abstract boolean
Returnstrue
if the array contains the specified object.abstract SpinJsonNode
deleteProp
(String name) Remove a property of the given node by name.abstract SpinJsonNode
deleteProp
(List<String> names) Removes a number of properties by a given list of names.abstract SpinList<SpinJsonNode>
elements()
Get this node as list.Get the field names of this node (i.e.abstract boolean
Check if this node has a property with the given name.abstract Integer
Fetches the first index of the searched object in an array.abstract SpinJsonNode
insertAfter
(Object searchObject, Object insertObject) Inserts an object AFTER an specific object in an arrayabstract SpinJsonNode
Appends an object at a specific point in an arrayabstract SpinJsonNode
insertBefore
(Object searchObject, Object insertObject) Inserts an object BEFORE an specific object in an arrayabstract Boolean
isArray()
Check if this node is a array value.abstract Boolean
Check if this node is a boolean value.abstract Boolean
isNull()
Check if this node represents a null value.abstract Boolean
isNumber()
Check if this node is a number value.abstract boolean
isObject()
Check if this node is an object node.abstract Boolean
isString()
Check if this node is a string value.abstract Boolean
isValue()
Check if this node is a value.abstract SpinJsonPathQuery
Creates a JsonPath query on this element.abstract Integer
lastIndexOf
(Object searchObject) Fetches the last index of the searched object in an array.abstract Number
Get this node as a number value.abstract SpinJsonNode
Get the property of this node with the given name.abstract SpinJsonNode
Set a new boolean property in this node.abstract SpinJsonNode
Set a new float property in this node.abstract SpinJsonNode
Set a new int property in this node.abstract SpinJsonNode
Set a new long property in this node.abstract SpinJsonNode
Set a new Boolean property in this node.abstract SpinJsonNode
Set a new Number property in this node.abstract SpinJsonNode
Set a new String property in this node.abstract SpinJsonNode
Set a new List property in this node.abstract SpinJsonNode
Set a new Map property in this node.abstract SpinJsonNode
prop
(String name, SpinJsonNode newProperty) Set a new SpinJsonNode Object property in this node.abstract SpinJsonNode
Removes the first appearance of an object from the current arrayabstract SpinJsonNode
removeAt
(int index) removes an object at the specific index of the current arrayabstract SpinJsonNode
removeLast
(Object property) Removes the last appearance of an object from the current arrayabstract String
Get this node as a string value.abstract Object
value()
Gets the actual value of the node, in case it is a Boolean/String/Number/Null node.
-
Constructor Details
-
SpinJsonNode
public SpinJsonNode()
-
-
Method Details
-
indexOf
Fetches the first index of the searched object in an array.- Parameters:
searchObject
- Object for which the index should be searched.- Returns:
Integer
index of searchObject.- Throws:
SpinJsonException
- if the current node is not an array.SpinJsonPropertyException
- if object is not found.
-
lastIndexOf
Fetches the last index of the searched object in an array.- Parameters:
searchObject
- Object for which the index should be searched.- Returns:
Integer
index of searchObject.- Throws:
SpinJsonException
- if the current node is not an array.SpinJsonPropertyException
- if object is not found.
-
contains
Returnstrue
if the array contains the specified object.- Parameters:
searchObject
- Object for which the array should be searched.- Returns:
true
if the array contains the object.- Throws:
SpinJsonException
- if the current node is not an array.
-
isObject
public abstract boolean isObject()Check if this node is an object node.- Returns:
- true if the node is an object, false otherwise
-
hasProp
Check if this node has a property with the given name.- Parameters:
name
- the name of the property- Returns:
- true if this node has a property with this name, false otherwise
-
prop
Get the property of this node with the given name.- Parameters:
name
- the name of the property- Returns:
SpinJsonNode
representation of the property
-
prop
Set a new String property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new String property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new Number property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new Number property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new int property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new int property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new float property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new float property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new long property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new long property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new boolean property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new boolean property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new Boolean property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new Boolean property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new List property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new List property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new Map property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new Map property- Returns:
SpinJsonNode
representation of the current node
-
prop
Set a new SpinJsonNode Object property in this node.- Parameters:
name
- the name of the new propertynewProperty
- the new SpinJsonNode Object property- Returns:
SpinJsonNode
representation of the current node
-
deleteProp
Remove a property of the given node by name.- Parameters:
name
- name of the property- Returns:
SpinJsonNode
representation of the current node
-
deleteProp
Removes a number of properties by a given list of names.- Parameters:
names
- list of names- Returns:
SpinJsonNode
representation of the current node
-
append
Appends a object to the end of the current array node- Parameters:
property
- property which should be append- Returns:
SpinJsonNode
representation of the current node
-
insertAt
Appends an object at a specific point in an array- Parameters:
index
- Index in current node where the new property should be appended.property
- Object which should be appended.- Returns:
SpinJsonNode
representation of the current node.- Throws:
IllegalArgumentException
- if index is out of bound.
-
insertBefore
Inserts an object BEFORE an specific object in an array- Parameters:
searchObject
- Object which is searchedinsertObject
- Object which will be inserted- Returns:
SpinJsonNode
representation of the current node
-
insertAfter
Inserts an object AFTER an specific object in an array- Parameters:
searchObject
- Object which is searchedinsertObject
- Object which will be inserted- Returns:
SpinJsonNode
representation of the current node
-
remove
Removes the first appearance of an object from the current array- Parameters:
property
- object which should be deleted- Returns:
SpinJsonNode
representation of the current node
-
removeLast
Removes the last appearance of an object from the current array- Parameters:
property
- object which should be deleted- Returns:
SpinJsonNode
representation of the current node
-
removeAt
removes an object at the specific index of the current array- Parameters:
index
- Index of the array- Returns:
SpinJsonNode
representation of the current node- Throws:
IllegalArgumentException
- if index is out of bound.
-
isBoolean
Check if this node is a boolean value.- Returns:
- true if this node is a boolean value, false otherwise
-
boolValue
Get this node as a boolean value.- Returns:
- the boolean value of this node
- Throws:
SpinDataFormatException
- if this node is not a boolean value
-
isNumber
Check if this node is a number value.- Returns:
- true if this node is a number value, false otherwise
-
numberValue
Get this node as a number value.- Returns:
- the number value of this node
- Throws:
SpinDataFormatException
- if this node is not a number value
-
isString
Check if this node is a string value.- Returns:
- true if this node is a string value, false otherwise
-
stringValue
Get this node as a string value.- Returns:
- the string value of this node
- Throws:
SpinDataFormatException
- if this node is not a string value
-
isNull
Check if this node represents a null value.- Returns:
- true if this node is a null value, false otherwise
-
isValue
Check if this node is a value.- Returns:
- true if this node is a value, false otherwise
-
value
Gets the actual value of the node, in case it is a Boolean/String/Number/Null node. In that case a Java Boolean/String/Number or null is returned.- Returns:
- the value of this node
- Throws:
SpinDataFormatException
- if this node is not a Boolean/String/Number/Nul value
-
isArray
Check if this node is a array value.- Returns:
- true if this node is a array value, false otherwise
-
elements
Get this node as list. If the current node is an array, this method returns aSpinList
which contains copies of all JSON nodes contained in the current node. Changes to the the elements in the list will not propagate to the original nodes.- Returns:
- the list value of this node
- Throws:
SpinDataFormatException
- if this node is not an array
-
fieldNames
Get the field names of this node (i.e. the property names).- Returns:
- the list of field names
- Throws:
SpinDataFormatException
- if this node is not a array value
-
jsonPath
Creates a JsonPath query on this element.- Parameters:
expression
- the JsonPath expression- Returns:
- the JsonPath query
-