ScriptContext
public class SimpleScriptContext extends Object implements ScriptContext
Modifier and Type | Field | Description |
---|---|---|
protected Bindings |
engineScope |
This is the engine scope bindings. |
protected Writer |
errorWriter |
This is the writer to be used to output errors from scripts. |
protected Bindings |
globalScope |
This is the global scope bindings. |
protected Reader |
reader |
This is the reader to be used for input from scripts. |
protected Writer |
writer |
This is the writer to be used to output from scripts. |
ENGINE_SCOPE, GLOBAL_SCOPE
Constructor | Description |
---|---|
SimpleScriptContext() |
Create a SimpleScriptContext . |
Modifier and Type | Method | Description |
---|---|---|
Object |
getAttribute |
Retrieves the value of the attribute with the given name in the scope occurring earliest in the search order. |
Object |
getAttribute |
Gets the value of an attribute in a given scope. |
int |
getAttributesScope |
Get the lowest scope in which an attribute is defined. |
Bindings |
getBindings |
Returns the value of the engineScope field if specified scope is ENGINE_SCOPE . |
Writer |
getErrorWriter() |
Returns the Writer used to display error output. |
Reader |
getReader() |
Returns a Reader to be used by the script to read input. |
List |
getScopes() |
Returns immutable List of all the valid values for scope in the ScriptContext. |
Writer |
getWriter() |
Returns the Writer for scripts to use when displaying output. |
Object |
removeAttribute |
Remove an attribute in a given scope. |
void |
setAttribute |
Sets the value of an attribute in a given scope. |
void |
setBindings |
Sets a Bindings of attributes for the given scope. |
void |
setErrorWriter |
Sets the Writer used to display error output. |
void |
setReader |
Sets the Reader for scripts to read input . |
void |
setWriter |
Sets the Writer for scripts to use when displaying output. |
protected Writer writer
PrintWriter
based on System.out
is used. Accessor methods getWriter, setWriter are used to manage this field.protected Writer errorWriter
PrintWriter
based on System.err
is used. Accessor methods getErrorWriter, setErrorWriter are used to manage this field.protected Reader reader
InputStreamReader
based on System.in
is used and default charset is used by this reader. Accessor methods getReader, setReader are used to manage this field.protected Bindings engineScope
SimpleBindings
is used. Accessor methods setBindings, getBindings are used to manage this field.protected Bindings globalScope
public SimpleScriptContext()
SimpleScriptContext
.public void setBindings(Bindings bindings, int scope)
Bindings
of attributes for the given scope. If the value of scope is ENGINE_SCOPE
the given Bindings
replaces the engineScope
field. If the value of scope is GLOBAL_SCOPE
the given Bindings
replaces the globalScope
field.setBindings
in interface ScriptContext
bindings
- The Bindings
of attributes to set.scope
- The value of the scope in which the attributes are set.IllegalArgumentException
- if scope is invalid.NullPointerException
- if the value of scope is ENGINE_SCOPE
and the specified Bindings
is null.public Object getAttribute(String name)
getAttribute
in interface ScriptContext
name
- The name of the attribute to retrieve.NullPointerException
- if the name is null.IllegalArgumentException
- if the name is empty.public Object getAttribute(String name, int scope)
getAttribute
in interface ScriptContext
name
- The name of the attribute to retrieve.scope
- The scope in which to retrieve the attribute.null
is the name does not exist in the given scope.IllegalArgumentException
- if the name is empty or if the value of scope is invalid.NullPointerException
- if the name is null.public Object removeAttribute(String name, int scope)
removeAttribute
in interface ScriptContext
name
- The name of the attribute to removescope
- The scope in which to remove the attributeIllegalArgumentException
- if the name is empty or if the scope is invalid.NullPointerException
- if the name is null.public void setAttribute(String name, Object value, int scope)
GLOBAL_SCOPE
and no Bindings is set for GLOBAL_SCOPE
, then setAttribute call is a no-op.setAttribute
in interface ScriptContext
name
- The name of the attribute to setvalue
- The value of the attributescope
- The scope in which to set the attributeIllegalArgumentException
- if the name is empty or if the scope is invalid.NullPointerException
- if the name is null.public Writer getWriter()
Writer
for scripts to use when displaying output.getWriter
in interface ScriptContext
Writer
.public Reader getReader()
Reader
to be used by the script to read input.getReader
in interface ScriptContext
Reader
.public void setReader(Reader reader)
Reader
for scripts to read input .setReader
in interface ScriptContext
reader
- The new Reader
.public void setWriter(Writer writer)
Writer
for scripts to use when displaying output.setWriter
in interface ScriptContext
writer
- The new Writer
.public Writer getErrorWriter()
Writer
used to display error output.getErrorWriter
in interface ScriptContext
Writer
public void setErrorWriter(Writer writer)
Writer
used to display error output.setErrorWriter
in interface ScriptContext
writer
- The Writer
.public int getAttributesScope(String name)
getAttributesScope
in interface ScriptContext
name
- Name of the attribute .NullPointerException
- if name is null.IllegalArgumentException
- if name is empty.public Bindings getBindings(int scope)
engineScope
field if specified scope is ENGINE_SCOPE
. Returns the value of the globalScope
field if the specified scope is GLOBAL_SCOPE
.getBindings
in interface ScriptContext
scope
- The specified scopeengineScope
or globalScope
field.IllegalArgumentException
- if the value of scope is invalid.public List<Integer> getScopes()
List
of all the valid values for scope in the ScriptContext.getScopes
in interface ScriptContext
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.scripting/javax/script/SimpleScriptContext.html