Ignition 8 - list expression functions and categories (for the gateway scope)?

I try to list the expression functions and categories (for the gateway scope)
it seems possible:

http://files.inductiveautomation.com/sdk/javadoc/ignition80/8.0.14/com/inductiveautomation/ignition/common/expressions/FunctionFactory.html

from com.inductiveautomation.ignition.common.expressions import BasicFunctionFactory
print BasicFunctionFactory().getFunctionNames()

return in the designer console

[]

perhpas public BasicFunctionFactory​(FunctionFactory parent) ??? but where to find parents…

BasicFunctionFactory is just a basic/default implementation. Creating a new one will of course be empty.

DefaultFunctionFactory has all the built-in expression functions.

from com.inductiveautomation.ignition.common.expressions import DefaultFunctionFactory

print DefaultFunctionFactory().getFunctionNames()
print DefaultFunctionFactory().getCategories()
print DefaultFunctionFactory().getFunctionsInCategory()

return:

  File "<input>", line 14, in <module>
TypeError: No visible constructors for class (com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory)
>>> 

Hmm, it’s deprecated, but try DefaultFunctionFactory.getSharedInstance().

You can also get the FunctionFactory from a GatewayContext (or anything that extends CommonContext, really).

1 Like

thanks a lot :+1:

from com.inductiveautomation.ignition.common.expressions import DefaultFunctionFactory

categories = DefaultFunctionFactory.getSharedInstance().getCategories()
for categorie in categories:
	print categorie
	functions = DefaultFunctionFactory.getSharedInstance().getFunctionsInCategory(categorie)
	print functions
	for f in functions:
		print DefaultFunctionFactory.getSharedInstance().getFunction(f).getArgDocString()

return

Type Casting
[toStr, toInt, toFont, toLong, toDate, toFloat, toColor, toBorder, toInteger, toDouble, toBoolean, toString, toDataSet]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
value, [failover]
Advanced
[qualifiedValue, columnRearrange, columnRename, forceQuality, tag, runScript, sortDataset]
value, level, [subcode], [diagnostic]
dataset, col...
dataset, newName...
...