Package fmpp.models

Class 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
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface freemarker.template.TemplateHashModelEx2

        freemarker.template.TemplateHashModelEx2.KeyValuePair, freemarker.template.TemplateHashModelEx2.KeyValuePairIterator
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_NODE_NAME  
      static java.lang.String NODE_TYPE  
      • Fields inherited from interface freemarker.template.TemplateModel

        NOTHING
    • 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)
      Returns the JSONNode for the given key from this JSON object, using a Java null for JSON null-s.
      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 Java null for JSON null-s.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • 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 be String-s, and values must be of a type that JSONNode.wrap(Object) can wrap. The values should be plain Java objects, not JSONNode-s, or else AdapterTemplateModel.getAdaptedObject(Class) won't work properly.
    • Method Detail

      • getNodeType

        public java.lang.String getNodeType()
                                     throws freemarker.template.TemplateModelException
        Specified by:
        getNodeType in interface freemarker.template.TemplateNodeModel
        Throws:
        freemarker.template.TemplateModelException
      • get

        public freemarker.template.TemplateModel get​(java.lang.String key)
                                              throws freemarker.template.TemplateModelException
        Returns the JSONNode for the given key from this JSON object, using a Java null for JSON null-s. Note that getChildNodes() treats JSON null-s differently.
        Specified by:
        get in interface freemarker.template.TemplateHashModel
        Throws:
        freemarker.template.TemplateModelException
      • isEmpty

        public boolean isEmpty()
                        throws freemarker.template.TemplateModelException
        Specified by:
        isEmpty in interface freemarker.template.TemplateHashModel
        Throws:
        freemarker.template.TemplateModelException
      • size

        public int size()
                 throws freemarker.template.TemplateModelException
        Specified by:
        size in interface freemarker.template.TemplateHashModelEx
        Throws:
        freemarker.template.TemplateModelException
      • getChildNodes

        public freemarker.template.TemplateSequenceModel getChildNodes()
                                                                throws freemarker.template.TemplateModelException
        Specified by:
        getChildNodes in interface freemarker.template.TemplateNodeModel
        Throws:
        freemarker.template.TemplateModelException
      • keys

        public freemarker.template.TemplateCollectionModel keys()
                                                         throws freemarker.template.TemplateModelException
        Specified by:
        keys in interface freemarker.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 Java null for JSON null-s. Note that getChildNodes() treats JSON null-s differently.
        Specified by:
        values in interface freemarker.template.TemplateHashModelEx
        Throws:
        freemarker.template.TemplateModelException
      • keyValuePairIterator

        public freemarker.template.TemplateHashModelEx2.KeyValuePairIterator keyValuePairIterator()
                                                                                           throws freemarker.template.TemplateModelException
        Specified by:
        keyValuePairIterator in interface freemarker.template.TemplateHashModelEx2
        Throws:
        freemarker.template.TemplateModelException
      • 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 interface freemarker.template.AdapterTemplateModel
        Since:
        0.9.16