org.python.core

## Class Options

- java.lang.Object
- - org.python.core.Options

    public class Options
    extends java.lang.Object

A class with static fields for each of the settable options. The options from registry and command line is copied into the fields here and the rest of Jython checks these fields.

### Field Summary

Fields
`static int` `bytes_warning`
`static boolean` `caseok` If true, Jython will use the first module found on sys.path where java File.isFile() returns true.
`static int` `division_warning` Enable division warning.
`static boolean` `dont_write_bytecode` Whether -B (don't write bytecode on import) was enabled via the command line.
`static boolean` `ignore_environment` Whether -E (ignore environment) was enabled via the command line.
`static boolean` `importSite` When `false` the `site.py` will not be imported.
`static boolean` `includeJavaStackInExceptions` If true, exceptions raised from Python code will include a Java stack trace in addition to the Python traceback.
`static boolean` `inspect` When a script given on the command line finishes, start an interactive interpreter.
`static boolean` `interactive` Set by the `-i` option to the interpreter command, to ask for an interactive session to start after the script ends.
`static boolean` `no_site` When `true` the `site.py` was not imported.
`static boolean` `no_user_site` Whether -s (don't add user site directory to `sys.path`) was on the command line.
`static int` `optimize` Corresponds to -O (Python bytecode optimization), -OO (remove docstrings) flags in CPython.
`static java.lang.String` `proxyDebugDirectory` A directory where the dynamically generated classes are written.
`static boolean` `py3k_warning` Whether -3 (py3k warnings) was enabled via the command line.
`static boolean` `Qnew` If true, enable true division for the '/' operator.
`static boolean` `respectJavaAccessibility` If true, Jython respects Java the accessibility flag for fields, methods, and constructors.
`static boolean` `showJavaExceptions` when an exception occurs in Java code, and it is not caught, should the interpreter print out the Java exception in the traceback?
`static boolean` `showPythonProxyExceptions` When true, python exception raised in overridden methods will be shown on stderr.
`static java.lang.String` `sreCacheSpec`
`static java.lang.String` `sreCacheSpecDefault` Cache spec for the SRE_STATE code point cache.
`static boolean` `unbuffered` Force stdin, stdout and stderr to be unbuffered, and opened in binary mode.
`static int` `verbose` Deprecated. Use `PrePy.getLoggingLevel()`, `PrePy.setLoggingLevel(java.util.logging.Level)`, or `java.util.logging` preferences to configure logging levels.

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `setFromRegistry()` Initialize the static fields from the registry options.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### showJavaExceptions

    public static boolean showJavaExceptions

when an exception occurs in Java code, and it is not caught, should the interpreter print out the Java exception in the traceback?

#### includeJavaStackInExceptions

    public static boolean includeJavaStackInExceptions

If true, exceptions raised from Python code will include a Java stack trace in addition to the Python traceback. This can slow raising considerably.

See Also:
  `RegistryKey.PYTHON_OPTIONS_INCLUDE_JAVA_STACK_IN_EXCEPTIONS`

#### showPythonProxyExceptions

    public static boolean showPythonProxyExceptions

When true, python exception raised in overridden methods will be shown on stderr. This option is remarkably useful when python is used for implementing CORBA server. Some CORBA servers will turn python exception (say a NameError) into an anonymous user exception without any stacktrace. Setting this option will show the stacktrace.

See Also:
  `RegistryKey.PYTHON_OPTIONS_SHOW_PYTHON_PROXY_EXCEPTIONS`

#### respectJavaAccessibility

    public static boolean respectJavaAccessibility

If true, Jython respects Java the accessibility flag for fields, methods, and constructors. This means you can only access public members. Set this to false to access all members by toggling the accessible flag on the member.

See Also:
  `RegistryKey.PYTHON_SECURITY_RESPECT_JAVA_ACCESSIBILITY`

#### importSite

    public static boolean importSite

When `false` the `site.py` will not be imported. This may be set by the command line main class (`-S` option) or from the registry and is checked in `PythonInterpreter`.

See Also:
  `no_site`, `RegistryKey.PYTHON_IMPORT_SITE`

#### no_site

    public static boolean no_site

When `true` the `site.py` was not imported. This is may be set by the command line main class (`-S` option) or from the registry. However, in Jython 2, `no_site` is simply the opposite of `importSite`, as the interpreter starts up, provided for compatibility with the standard Python `sys.flags`. Actual control over the import of the site module in Jython 2, when necessary from Java, is accomplished through `importSite`.

#### verbose

    @Deprecated
    public static int verbose

Deprecated. Use `PrePy.getLoggingLevel()`, `PrePy.setLoggingLevel(java.util.logging.Level)`, or `java.util.logging` preferences to configure logging levels.
Verbosity of informative messages from Jython, retained as a field for reasons of backward-compatibility. Normally this option should be allowed to find its value indirectly through `java.util.logging`, as adjusted by the command line `-v` option.

#### interactive

    public static boolean interactive

Set by the `-i` option to the interpreter command, to ask for an interactive session to start after the script ends. It also allows certain streams to be considered interactive when `isatty` is not available.

#### inspect

    public static boolean inspect

When a script given on the command line finishes, start an interactive interpreter. It is set `true` by the `-i` option on the command-line, or programmatically from the script, and reset to `false` just before the interactive session starts. (This session only actually starts if the console is interactive.)

#### proxyDebugDirectory

    public static java.lang.String proxyDebugDirectory

A directory where the dynamically generated classes are written. Nothing is ever read from here, it is only for debugging purposes.

#### caseok

    public static boolean caseok

If true, Jython will use the first module found on sys.path where java File.isFile() returns true. Setting this to true have no effect on unix-type filesystems. On Windows/HFS+ systems setting it to true will enable Jython-2.0 behaviour.

See Also:
  `RegistryKey.PYTHON_OPTIONS_CASE_OK`

#### Qnew

    public static boolean Qnew

If true, enable true division for the '/' operator.

See Also:
  `RegistryKey.PYTHON_OPTIONS_Q_NEW`

#### unbuffered

    public static boolean unbuffered

Force stdin, stdout and stderr to be unbuffered, and opened in binary mode.

#### py3k_warning

    public static boolean py3k_warning

Whether -3 (py3k warnings) was enabled via the command line.

#### dont_write_bytecode

    public static boolean dont_write_bytecode

Whether -B (don't write bytecode on import) was enabled via the command line.

#### ignore_environment

    public static boolean ignore_environment

Whether -E (ignore environment) was enabled via the command line.

#### no_user_site

    public static boolean no_user_site

Whether -s (don't add user site directory to `sys.path`) was on the command line. The implementation is mostly in the `site` module.

#### bytes_warning

    public static int bytes_warning

#### optimize

    public static int optimize

Corresponds to -O (Python bytecode optimization), -OO (remove docstrings) flags in CPython. Jython processes the option and makes it visible as of 2.7, but there is no change of behaviour in the current version.

#### division_warning

    public static int division_warning

Enable division warning. The value maps to the registry values of

- old: 0
- warn: 1
- warnall: 2

#### sreCacheSpecDefault

    public static final java.lang.String sreCacheSpecDefault

Cache spec for the SRE_STATE code point cache. The value maps to the CacheBuilderSpec string and affects how the SRE_STATE cache will behave/evict cached `PyString -> int[]` code points.

See Also:
  Constant Field Values

#### sreCacheSpec

    public static java.lang.String sreCacheSpec

### Method Detail

#### setFromRegistry

    public static void setFromRegistry()

Initialize the static fields from the registry options.