Class Jython

    • Field Detail

      • CLASS_PYTHONINERPRETER

        public static final String CLASS_PYTHONINERPRETER
        the classname of the Python interpreter
        See Also:
        Constant Field Values
      • CLASS_PYTHONOBJECTINPUTSTREAM

        public static final String CLASS_PYTHONOBJECTINPUTSTREAM
        the classname of the Python ObjectInputStream
        See Also:
        Constant Field Values
    • Constructor Detail

      • Jython

        public Jython()
        default constructor, tries to instantiate a Python Interpreter
    • Method Detail

      • getInterpreter

        public Object getInterpreter()
        returns the currently used Python Interpreter
        Returns:
        the interpreter, can be null
      • invoke

        public Object invoke​(String methodName,
                             Class<?>[] paramClasses,
                             Object[] paramValues)
        executes the specified method on the current interpreter and returns the result, if any.
        Parameters:
        methodName - the name of the method
        paramClasses - the classes of the parameters
        paramValues - the values of the parameters
        Returns:
        the return value of the method, if any (in that case null)
      • isPresent

        public static boolean isPresent()
        returns whether the Jython classes are present or not, i.e. whether the classes are in the classpath or not
        Returns:
        whether the Jython classes are available
      • newInterpreter

        public static Object newInterpreter()
        initializes and returns a Python Interpreter
        Returns:
        the interpreter or null if Jython classes not present
      • newInstance

        public static Object newInstance​(File file,
                                         Class<?> template)
        loads the module and returns a new instance of it as instance of the provided Java class template.
        Parameters:
        file - the Jython module file
        template - the template for the returned Java object
        Returns:
        the Jython object
      • newInstance

        public static Object newInstance​(File file,
                                         Class<?> template,
                                         File[] paths)
        loads the module and returns a new instance of it as instance of the provided Java class template. The paths are added to 'sys.path' - can be used if the module depends on other Jython modules.
        Parameters:
        file - the Jython module file
        template - the template for the returned Java object
        paths - additional paths to add to "sys.path"
        Returns:
        the Jython object
      • invoke

        public static Object invoke​(Object o,
                                    String methodName,
                                    Class<?>[] paramClasses,
                                    Object[] paramValues)
        executes the specified method and returns the result, if any
        Parameters:
        o - the object the method should be called from, e.g., a Python Interpreter
        methodName - the name of the method
        paramClasses - the classes of the parameters
        paramValues - the values of the parameters
        Returns:
        the return value of the method, if any (in that case null)
      • deserialize

        public static Object deserialize​(InputStream in)
        deserializes the Python Object from the stream
        Parameters:
        in - the stream to use
        Returns:
        the deserialized object
      • main

        public static void main​(String[] args)
        If no arguments are given, it just prints the presence of the Jython classes, otherwise it expects a Jython filename to execute.
        Parameters:
        args - commandline arguments