If you can bump the SDK version to 8.0.11 or higher, you can use PyUtilities, which has a few utility methods; you would
com.inductiveautomation.ignition.common.PyUtilities#streamEntries then use the collector implementation in the same file (or roll your own). As Kevin points out, it’s already a map (of PyObjects), so you will probably want to use
TypeUtilities.pyToJava() on individual elements to get native Java types.
If you do bump the SDK version, you can also use PyArgParser, which is (in my opinion, at least, since I wrote it ) a bit nicer to use re: type coercion. It also has a
getAsMap() method, so you can retrieve a user-supplied argument as a (Java typed) map in one line:
com.inductiveautomation.ignition.common.script.PyArgParser#getAsMap(java.lang.String, java.lang.Class<K>, java.lang.Class<V>)