Class PyUtilities
java.lang.Object
com.inductiveautomation.ignition.common.PyUtilities
- 
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisIterable(org.python.core.PyObject pyObject) Predicate that returns true if the provided object is iterable - which is a superset of sequences, as an iterable doesn't have to be sized.static booleanisSequence(org.python.core.PyObject pyObject) Predicate that returns true if the provided object is a sequence, per Java convention - meaning, strings are not considered sequences.static booleanisString(org.python.core.PyObject pyObject) Simple predicate that returns true if the provided object is a Python string (ie, inherits fromPyBaseString.static Stream<org.python.core.PyObject>stream(org.python.core.PyObject pyObject) Stream items frompyObject.static Stream<org.apache.commons.lang3.tuple.Pair<org.python.core.PyObject,org.python.core.PyObject>> streamEntries(org.python.core.PyObject pyObject) Stream entries frompyObject, in a key: valuePair.toPyDictionary(Function<T, ?> keyExtractor, Function<T, ?> valueExtractor) Collect a stream ofTinto a new PyDictionary.toPyList()Collect a stream into a new PyList. 
- 
Method Details
- 
isString
public static boolean isString(org.python.core.PyObject pyObject) Simple predicate that returns true if the provided object is a Python string (ie, inherits fromPyBaseString. - 
isSequence
public static boolean isSequence(org.python.core.PyObject pyObject) Predicate that returns true if the provided object is a sequence, per Java convention - meaning, strings are not considered sequences. - 
isIterable
public static boolean isIterable(org.python.core.PyObject pyObject) Predicate that returns true if the provided object is iterable - which is a superset of sequences, as an iterable doesn't have to be sized. Returns true for strings as well. - 
stream
Stream items frompyObject. Per Python behavior, will stream characters one-by-one in a string.- Throws:
 org.python.core.PyException- TypeError if provided PyObject is not iterable.
 - 
streamEntries
public static Stream<org.apache.commons.lang3.tuple.Pair<org.python.core.PyObject,org.python.core.PyObject>> streamEntries(org.python.core.PyObject pyObject) Stream entries frompyObject, in a key: valuePair.- Throws:
 org.python.core.PyException- TypeError if provided PyObject is not iterable.IllegalArgumentException- if provided PyObject is not a mapping type.
 - 
toPyList
Collect a stream into a new PyList. - 
toPyDictionary
public static <T> Collector<T,Object, toPyDictionaryorg.python.core.PyDictionary> (Function<T, ?> keyExtractor, Function<T, ?> valueExtractor) Collect a stream ofTinto a new PyDictionary.- Type Parameters:
 T- The incoming type, egMap.EntryorPair.- Parameters:
 keyExtractor- The key extractor, egMap.Entry.getKey(). Should not return a PyObject directly.valueExtractor- The value extractor, egMap.Entry.getValue(). Should not return a PyObject directly.- Returns:
 - a new 
PyDictionary. 
 
 -