Package jep

Class JepConfig


  • public class JepConfig
    extends java.lang.Object

    A configuration object for constructing a Jep instance, corresponding to the configuration of the particular Python sub-interpreter. This class is intended to make constructing Jep instances easier while maintaining compatible APIs between releases.

    Since:
    3.5
    • Constructor Detail

      • JepConfig

        public JepConfig()
    • Method Detail

      • setInteractive

        @Deprecated
        public JepConfig setInteractive​(boolean interactive)
        Deprecated.
        Interactive mode will be removed in a future release. See console.py for an example of how to interactively execute Python using the builtin compile() and exec() functions.
        Sets whether Jep.eval(String) should support the slower behavior of potentially waiting for multiple statements
        Parameters:
        interactive - whether the Jep instance should be interactive
        Returns:
        a reference to this JepConfig
      • setIncludePath

        public JepConfig setIncludePath​(java.lang.String includePath)
        Sets a path of directories separated by File.pathSeparator that will be appended to the sub-intepreter's sys.path
        Parameters:
        includePath - directory or directories to include on sys.path
        Returns:
        a reference to this JepConfig
      • addIncludePaths

        public JepConfig addIncludePaths​(java.lang.String... includePaths)
        Adds a path of directories separated by File.pathSeparator that will be appended to the sub-intepreter's sys.path
        Parameters:
        includePaths - directories to include on sys.path
        Returns:
        a reference to this JepConfig
      • setClassLoader

        public JepConfig setClassLoader​(java.lang.ClassLoader classLoader)
        Sets the ClassLoader to use when importing Java classes from Python
        Parameters:
        classLoader - the initial ClassLoader for the Jep instance
        Returns:
        a reference to this JepConfig
      • setClassEnquirer

        public JepConfig setClassEnquirer​(ClassEnquirer classEnquirer)
        Sets a ClassEnquirer to determine which imports are Python vs Java, or null for the default ClassList
        Parameters:
        classEnquirer - the ClassEnquirer for the Jep instance
        Returns:
        a reference to this JepConfig
      • setRedirectOutputStreams

        public JepConfig setRedirectOutputStreams​(boolean redirectOutputStreams)
        Sets whether to redirect the Python sys.stdout and sys.stderr streams to the Java System.out and System.err streams
        Parameters:
        redirectOutputStreams - whether to redirect Python streams to Java
        Returns:
        a reference to this JepConfig
      • setSharedModules

        public JepConfig setSharedModules​(java.util.Set<java.lang.String> sharedModules)
        Sets the names of modules which should be shared with other Jep sub-interpreters. This can make it possible to use modules which are not designed for use from Python sub-interpreters. This should not be necessary for any module written in Python but is intended for extensions that use the c-api. For a complete discussion of the types of problems that can require shared modules see the documentation on shared_modules_hook.py.
        Parameters:
        sharedModules - a set of module names that should be shared
        Returns:
        a reference to this JepConfig
        Since:
        3.6
      • addSharedModules

        public JepConfig addSharedModules​(java.lang.String... sharedModule)
        Adds module names to the set of shared modules
        Parameters:
        sharedModule - a set of module names that should be shared
        Returns:
        a reference to this JepConfig
        Since:
        3.6
        See Also:
        setSharedModules(Set)
      • createJep

        @Deprecated
        public Jep createJep()
                      throws JepException
        Deprecated.
        Creates a new SubInterpreter instance and its associated sub-interpreter with this JepConfig.
        Returns:
        a new Jep instance
        Throws:
        JepException - if an error occurs
        Since:
        3.8
      • createSubInterpreter

        public SubInterpreter createSubInterpreter()
                                            throws JepException
        Creates a new Jep instance and its associated sub-interpreter with this JepConfig.
        Returns:
        a new SubInterpreter instance
        Throws:
        JepException - if an error occurs
        Since:
        3.9