Class PyJsonObjectAdapter

All Implemented Interfaces:
JythonMap, MutableJythonMap, Serializable

public class PyJsonObjectAdapter extends AbstractMutableJythonMap
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.python.core.PyObject

    org.python.core.PyObject.ConversionException
  • Field Summary

    Fields inherited from class org.python.core.PyObject

    attributes, gcMonitorGlobal, objtype, TYPE
  • Constructor Summary

    Constructors
    Constructor
    Description
    PyJsonObjectAdapter(com.inductiveautomation.ignition.common.gson.JsonObject object)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    __delitem__(org.python.core.PyObject key)
    Remove pyKey from the map.
    org.python.core.PyObject
     
    org.python.core.PyObject
    __finditem__(org.python.core.PyObject key)
    Look up and return the specified key.
    org.python.core.PyObject
    Returns an iterator over this mapping.
    int
     
    void
    __setitem__(org.python.core.PyObject key, org.python.core.PyObject value)
    Update the map at pyKey with new value pyValue
    void
    Set every value in this mapping to null.
    org.python.core.PyObject
    get(org.python.core.PyObject pyKey)
    Get the value for the specified key, or PyNone if there was no result.
    org.python.core.PyObject
    get(org.python.core.PyObject pyKey, org.python.core.PyObject def)
    Get the value for the specified key, or default if the key was not present.
    boolean
    has_key(org.python.core.PyObject pyKey)
     
    org.python.core.PyList
     
    org.python.core.PyObject
     
    org.python.core.PyObject
     
    org.python.core.PyObject
     
    org.python.core.PyList
     
    org.python.core.PyObject
    pop(org.python.core.PyObject pyKey)
    Returns the value specified by pyKey in the mapping, and deletes that entry.
    org.python.core.PyObject
    Returns an arbitrary (not guaranteed random, nor guaranteed last) item (PyTuple key: value pair) from the dictionary, and removes that item from the mapping.
    org.python.core.PyObject
    setdefault(org.python.core.PyObject pyKey, org.python.core.PyObject def)
    Returns the value of pyKey if it is already present in the map.
     
    void
    update(org.python.core.PyObject[] args, String[] keywords)
    Updates this mapping, one of three possible ways: with a set of keyword arguments; eg {"a": 1}.update(b=2, c=3) == {"a": 1, "b": 2, * "c": 3} with another dictionary directly with an iterable sequence of key:value pairs
    org.python.core.PyList
     

    Methods inherited from class com.inductiveautomation.ignition.common.script.abc.AbstractMutableJythonMap

    pop, setdefault

    Methods inherited from class com.inductiveautomation.ignition.common.script.abc.AbstractJythonMap

    __finditem__, __repr__, __str__, isMappingType, isNumberType, isSequenceType

    Methods inherited from class org.python.core.PyObject

    __abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __le__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rawdir__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setslice__, __setslice__, __sub__, __tojava__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _unsupportedop, _xor, adaptToCoerceTuple, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, finalize, getDict, getJavaProxy, getType, hashCode, impAttr, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, mergeClassDict, mergeDictAttr, mergeListAttr, noAttributeError, object___subclasshook__, readonlyAttributeError, runsupportedopMessage, setDict, setType, unsupportedopMessage

    Methods inherited from class java.lang.Object

    clone, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.inductiveautomation.ignition.common.script.abc.JythonMap

    __contains__, __finditem__
  • Constructor Details

    • PyJsonObjectAdapter

      public PyJsonObjectAdapter(com.inductiveautomation.ignition.common.gson.JsonObject object)
  • Method Details

    • __findattr_ex__

      public org.python.core.PyObject __findattr_ex__(String name)
      Overrides:
      __findattr_ex__ in class org.python.core.PyObject
    • __finditem__

      public org.python.core.PyObject __finditem__(org.python.core.PyObject key)
      Description copied from interface: JythonMap
      Look up and return the specified key.
      Specified by:
      __finditem__ in interface JythonMap
      Overrides:
      __finditem__ in class AbstractJythonMap
    • keys

      public org.python.core.PyList keys()
      Returns:
      A list of keys
    • iterkeys

      public org.python.core.PyObject iterkeys()
      Specified by:
      iterkeys in interface JythonMap
      Overrides:
      iterkeys in class AbstractJythonMap
      Returns:
      an Iterable of keys; see Java2PyIterator
    • values

      public org.python.core.PyList values()
      Returns:
      a list of values
    • itervalues

      public org.python.core.PyObject itervalues()
      Specified by:
      itervalues in interface JythonMap
      Overrides:
      itervalues in class AbstractJythonMap
      Returns:
      an Iterable of values; see Java2PyIterator
    • items

      public org.python.core.PyList items()
      Returns:
      a list of items; should be a PyTuple consisting of key: value pairs
    • iteritems

      public org.python.core.PyObject iteritems()
      Specified by:
      iteritems in interface JythonMap
      Overrides:
      iteritems in class AbstractJythonMap
      Returns:
      an Iterable of items; see Java2PyIterator
    • has_key

      public boolean has_key(org.python.core.PyObject pyKey)
      Specified by:
      has_key in interface JythonMap
      Overrides:
      has_key in class AbstractJythonMap
      Returns:
      true if the underlying map has the requisite key. Usage is generally discouraged - the Pythonic approach is to use key in mapping.
    • get

      public org.python.core.PyObject get(org.python.core.PyObject pyKey)
      Description copied from interface: JythonMap
      Get the value for the specified key, or PyNone if there was no result. Should not throw an exception.
      Specified by:
      get in interface JythonMap
      Overrides:
      get in class AbstractJythonMap
      Parameters:
      pyKey - The key, which may be a string (PyObject.asString() or a numeric index (PyObject.asInt()
    • get

      public org.python.core.PyObject get(org.python.core.PyObject pyKey, org.python.core.PyObject def)
      Description copied from interface: JythonMap
      Get the value for the specified key, or default if the key was not present.
      Parameters:
      pyKey - The pyKey, which may be a string (PyObject.asString() or a numeric index (PyObject.asInt()
    • __iter__

      public org.python.core.PyObject __iter__()
      Description copied from interface: JythonMap
      Returns an iterator over this mapping. For 'dictionary' like classes, should just be the keys.
      Specified by:
      __iter__ in interface JythonMap
      Overrides:
      __iter__ in class AbstractJythonMap
    • __len__

      public int __len__()
      Specified by:
      __len__ in interface JythonMap
      Overrides:
      __len__ in class org.python.core.PyObject
      Returns:
      the length of this mapping.
    • toString

      public String toString()
      Specified by:
      toString in interface JythonMap
      Overrides:
      toString in class AbstractJythonMap
      Returns:
      a string containing a printable representation of this object. If practical, should match the evaluation format of a Python dictionary - {"key": 123, "key_2": "value"}
    • clear

      public void clear() throws org.python.core.PyIgnoreMethodTag
      Description copied from interface: MutableJythonMap
      Set every value in this mapping to null.
      Specified by:
      clear in interface MutableJythonMap
      Specified by:
      clear in class AbstractMutableJythonMap
      Throws:
      org.python.core.PyIgnoreMethodTag
    • pop

      public org.python.core.PyObject pop(org.python.core.PyObject pyKey) throws org.python.core.PyException
      Description copied from interface: MutableJythonMap
      Returns the value specified by pyKey in the mapping, and deletes that entry.
      Specified by:
      pop in interface MutableJythonMap
      Specified by:
      pop in class AbstractMutableJythonMap
      Throws:
      org.python.core.PyException - Py.KeyError if the pyKey is not present in the map.
    • setdefault

      public org.python.core.PyObject setdefault(org.python.core.PyObject pyKey, org.python.core.PyObject def)
      Description copied from interface: MutableJythonMap
      Returns the value of pyKey if it is already present in the map. If it is not, the value is added to the map with def, and returns the value added to the map.
      Specified by:
      setdefault in interface MutableJythonMap
      Specified by:
      setdefault in class AbstractMutableJythonMap
    • __setitem__

      public void __setitem__(org.python.core.PyObject key, org.python.core.PyObject value)
      Description copied from interface: MutableJythonMap
      Update the map at pyKey with new value pyValue
      Specified by:
      __setitem__ in interface MutableJythonMap
      Specified by:
      __setitem__ in class AbstractMutableJythonMap
    • __delitem__

      public void __delitem__(org.python.core.PyObject key)
      Description copied from interface: MutableJythonMap
      Remove pyKey from the map.
      Specified by:
      __delitem__ in interface MutableJythonMap
      Specified by:
      __delitem__ in class AbstractMutableJythonMap
    • popitem

      public org.python.core.PyObject popitem() throws org.python.core.PyIgnoreMethodTag
      Description copied from interface: MutableJythonMap
      Returns an arbitrary (not guaranteed random, nor guaranteed last) item (PyTuple key: value pair) from the dictionary, and removes that item from the mapping.
      Specified by:
      popitem in interface MutableJythonMap
      Specified by:
      popitem in class AbstractMutableJythonMap
      Throws:
      org.python.core.PyIgnoreMethodTag
    • update

      public void update(org.python.core.PyObject[] args, String[] keywords) throws org.python.core.PyIgnoreMethodTag
      Description copied from interface: MutableJythonMap
      Updates this mapping, one of three possible ways:
      • with a set of keyword arguments; eg {"a": 1}.update(b=2, c=3) == {"a": 1, "b": 2, * "c": 3}
      • with another dictionary directly
      • with an iterable sequence of key:value pairs
      Specified by:
      update in interface MutableJythonMap
      Specified by:
      update in class AbstractMutableJythonMap
      Parameters:
      args - arguments passed to this object. The second and third methods described above will pass a single PyObject in args
      keywords - 1:1 with arguments
      Throws:
      org.python.core.PyIgnoreMethodTag