// Copyright (c) Corporation for National Research Initiatives package org.python.core; /** * Common methods for all generated proxy classes. * * Proxies classes are created whenever a python class inherit * from a java class. Instances of such a python class consists * of two objects * <ul> * <li>An instance of the proxy class. The _getPyInstance() will * return a reference to the PyInstance. * <li>An instance of PyInstance. The PyInstance.javaProxy contain * a reference to the proxy class instance. * </ul> * * All proxy classes, both dynamicly generated and staticly * generated by jythonc implements this interface. */ // This interface should be applicable to ANY class // Choose names that are extremely unlikely to have conflicts public interface PyProxy { /** * Associate an PyInstance with this proxy instance. * This is done during construction and initialization * of the proxy instance. */ abstract public void _setPyInstance(PyInstance proxy); /** * Return the associated PyInstance instance. */ abstract public PyInstance _getPyInstance(); /** * Associate an system state with this proxy instance. * This is done during construction and initialization * of the proxy instance. */ abstract public void _setPySystemState(PySystemState ss); /** * Return the associated system state. */ abstract public PySystemState _getPySystemState(); /** * Initialize the proxy instance. If the proxy have not * been initialized already, this call will call the * python constructor with the auplied arguments. * <p> * In some situations is it necesary to call the __initProxy__ * method from the java superclass ctor before the ctor makes * call to methods that is overriden in python. * <p> * In most sitation the __initProxy__ is called automticly * by the jython runtime. */ abstract public void __initProxy__(Object[] args); }