Class DisposablePyObjectAdapter
java.lang.Object
com.inductiveautomation.ignition.common.script.DisposablePyObjectAdapter
- All Implemented Interfaces:
org.python.core.adapter.PyObjectAdapter
public class DisposablePyObjectAdapter
extends Object
implements org.python.core.adapter.PyObjectAdapter
This class exists so that modules can add PyObjectAdapter to the global, static extensible adapter found at
Py.getAdapter()
in a way that can prevent leaking the module's classloader. The module wraps up their
object adapter in this wrapper, and ensures to call dispose()
when the module is shut down.
This will still cause a memory leak, albeit extremely small: one adapter object per module (re-)start. This is the
only way to be able to use this part of the Jython API because they don't provide for removing adapters that have
been registered.-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
DisposablePyObjectAdapter
public DisposablePyObjectAdapter(org.python.core.adapter.PyObjectAdapter delegate)
-
-
Method Details
-
dispose
public void dispose() -
canAdapt
- Specified by:
canAdapt
in interfaceorg.python.core.adapter.PyObjectAdapter
-
adapt
- Specified by:
adapt
in interfaceorg.python.core.adapter.PyObjectAdapter
-