Package jep

Class JepConfig

java.lang.Object
jep.JepConfig

public class JepConfig extends 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 Details

    • JepConfig

      public JepConfig()
  • Method Details

    • 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(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(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(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(Set<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(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:
    • 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