Package fmpp.models
Class JSONObjectNode
- java.lang.Object
-
- fmpp.models.JSONNode
-
- fmpp.models.JSONObjectNode
-
- All Implemented Interfaces:
freemarker.template.AdapterTemplateModel
,freemarker.template.TemplateHashModel
,freemarker.template.TemplateHashModelEx
,freemarker.template.TemplateHashModelEx2
,freemarker.template.TemplateModel
,freemarker.template.TemplateNodeModel
,java.io.Serializable
public class JSONObjectNode extends JSONNode implements freemarker.template.TemplateHashModelEx2
JSON "object" value; see http://www.json.org/. This class is NOT thread safe.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_NODE_NAME
static java.lang.String
NODE_TYPE
-
Constructor Summary
Constructors Constructor Description JSONObjectNode(JSONNode parentNode, java.lang.String nodeName, java.util.Map map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description freemarker.template.TemplateModel
get(java.lang.String key)
java.util.Map<java.lang.String,java.lang.Object>
getAdaptedObject(java.lang.Class<?> hint)
Returns the plain Java object wrapped into this node.freemarker.template.TemplateSequenceModel
getChildNodes()
protected java.lang.String
getDefaultNodeName()
Returns the name of the node if it has no explicit name.java.lang.String
getNodeType()
boolean
isEmpty()
freemarker.template.TemplateCollectionModel
keys()
freemarker.template.TemplateHashModelEx2.KeyValuePairIterator
keyValuePairIterator()
int
size()
freemarker.template.TemplateCollectionModel
values()
Returns the values from the key-value pairs of this JSON object, returning Javanull
for JSONnull
-s.-
Methods inherited from class fmpp.models.JSONNode
getNodeName, getNodeNamespace, getParentNode, nodeTypeToDefaultNodeName, wrap, wrap
-
-
-
-
Field Detail
-
NODE_TYPE
public static final java.lang.String NODE_TYPE
- See Also:
- Constant Field Values
-
DEFAULT_NODE_NAME
public static final java.lang.String DEFAULT_NODE_NAME
-
-
Constructor Detail
-
JSONObjectNode
public JSONObjectNode(JSONNode parentNode, java.lang.String nodeName, java.util.Map map)
- Parameters:
map
- The JSON name-value pairs. The keys must beString
-s, and values must be of a type thatJSONNode.wrap(Object)
can wrap. The values should be plain Java objects, notJSONNode
-s, or elseAdapterTemplateModel.getAdaptedObject(Class)
won't work properly.
-
-
Method Detail
-
getNodeType
public java.lang.String getNodeType() throws freemarker.template.TemplateModelException
- Specified by:
getNodeType
in interfacefreemarker.template.TemplateNodeModel
- Throws:
freemarker.template.TemplateModelException
-
get
public freemarker.template.TemplateModel get(java.lang.String key) throws freemarker.template.TemplateModelException
Returns theJSONNode
for the given key from this JSON object, using a Javanull
for JSONnull
-s. Note thatgetChildNodes()
treats JSONnull
-s differently.- Specified by:
get
in interfacefreemarker.template.TemplateHashModel
- Throws:
freemarker.template.TemplateModelException
-
isEmpty
public boolean isEmpty() throws freemarker.template.TemplateModelException
- Specified by:
isEmpty
in interfacefreemarker.template.TemplateHashModel
- Throws:
freemarker.template.TemplateModelException
-
size
public int size() throws freemarker.template.TemplateModelException
- Specified by:
size
in interfacefreemarker.template.TemplateHashModelEx
- Throws:
freemarker.template.TemplateModelException
-
getChildNodes
public freemarker.template.TemplateSequenceModel getChildNodes() throws freemarker.template.TemplateModelException
- Specified by:
getChildNodes
in interfacefreemarker.template.TemplateNodeModel
- Throws:
freemarker.template.TemplateModelException
-
keys
public freemarker.template.TemplateCollectionModel keys() throws freemarker.template.TemplateModelException
- Specified by:
keys
in interfacefreemarker.template.TemplateHashModelEx
- Throws:
freemarker.template.TemplateModelException
-
values
public freemarker.template.TemplateCollectionModel values() throws freemarker.template.TemplateModelException
Returns the values from the key-value pairs of this JSON object, returning Javanull
for JSONnull
-s. Note thatgetChildNodes()
treats JSONnull
-s differently.- Specified by:
values
in interfacefreemarker.template.TemplateHashModelEx
- Throws:
freemarker.template.TemplateModelException
-
keyValuePairIterator
public freemarker.template.TemplateHashModelEx2.KeyValuePairIterator keyValuePairIterator() throws freemarker.template.TemplateModelException
- Specified by:
keyValuePairIterator
in interfacefreemarker.template.TemplateHashModelEx2
- Throws:
freemarker.template.TemplateModelException
-
getDefaultNodeName
protected java.lang.String getDefaultNodeName()
Description copied from class:JSONNode
Returns the name of the node if it has no explicit name. This is normally called by theJSONNode(JSONNode, String)
constructor if its second argument isnull
.- Specified by:
getDefaultNodeName
in classJSONNode
- See Also:
JSONNode.nodeTypeToDefaultNodeName(String)
-
getAdaptedObject
public java.util.Map<java.lang.String,java.lang.Object> getAdaptedObject(java.lang.Class<?> hint)
Returns the plain Java object wrapped into this node.- Specified by:
getAdaptedObject
in interfacefreemarker.template.AdapterTemplateModel
- Since:
- 0.9.16
-
-