org.python.core.JythonInitializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jython-slim Show documentation
Show all versions of jython-slim Show documentation
Jython is an implementation of the high-level, dynamic, object-oriented
language Python written in 100% Pure Java, and seamlessly integrated with
the Java platform. It thus allows you to run Python on any Java platform.
package org.python.core;
import java.util.Properties;
import org.python.core.adapter.ExtensiblePyObjectAdapter;
/**
* A service for initializing Jython without explicitly calling {@link PySystemState#initialize}. If
* a file META-INF/services/org.python.core.JythonInitializer is on the classpath, Jython will
* instantiate the class named in that file and use it in Jython's initialization. The given class
* must be an implementation of this interface with a no-arg constructor.
*
* @see Java
Service Providers
*/
public interface JythonInitializer {
/**
* Called from {@link PySystemState#initialize} with the full set of initialization arguments.
* Implementations may modify or replace the given arguments, and must call
* {@link PySystemState#doInitialize}.
*
* @param argv
* - The command line arguments the jython interpreter was started with, or an empty
* array if jython wasn't started directly from the command line.
* @param classLoader
* - The classloader to be used by sys, or null if no sys-specific classloader was
* specified
*/
void initialize(Properties preProperties,
Properties postProperties,
String[] argv,
ClassLoader classLoader,
ExtensiblePyObjectAdapter adapter);
}