| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- /*
- * Decompiled with CFR 0.152.
- */
- package com.script;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.io.Reader;
- import java.io.Writer;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- public class SimpleScriptContext
- implements ScriptContext {
- private static List<Integer> scopes = new ArrayList<Integer>(2);
- protected Bindings engineScope = new SimpleBindings();
- protected Writer errorWriter = new PrintWriter(System.err, true);
- protected Bindings globalScope = null;
- protected Reader reader = new InputStreamReader(System.in);
- protected Writer writer = new PrintWriter(System.out, true);
- @Override
- public void setBindings(Bindings bindings, int scope) {
- switch (scope) {
- case 100: {
- if (bindings == null) {
- throw new NullPointerException("Engine scope cannot be null.");
- }
- this.engineScope = bindings;
- return;
- }
- case 200: {
- this.globalScope = bindings;
- return;
- }
- }
- throw new IllegalArgumentException("Invalid scope value.");
- }
- @Override
- public Object getAttribute(String name) {
- if (this.engineScope.containsKey(name)) {
- return this.getAttribute(name, 100);
- }
- if (this.globalScope == null || !this.globalScope.containsKey(name)) {
- return null;
- }
- return this.getAttribute(name, 200);
- }
- @Override
- public Object getAttribute(String name, int scope) {
- switch (scope) {
- case 100: {
- return this.engineScope.get(name);
- }
- case 200: {
- if (this.globalScope != null) {
- return this.globalScope.get(name);
- }
- return null;
- }
- }
- throw new IllegalArgumentException("Illegal scope value.");
- }
- @Override
- public Object removeAttribute(String name, int scope) {
- switch (scope) {
- case 100: {
- if (this.getBindings(100) != null) {
- return this.getBindings(100).remove(name);
- }
- return null;
- }
- case 200: {
- if (this.getBindings(200) != null) {
- return this.getBindings(200).remove(name);
- }
- return null;
- }
- }
- throw new IllegalArgumentException("Illegal scope value.");
- }
- @Override
- public void setAttribute(String name, Object value, int scope) {
- switch (scope) {
- case 100: {
- this.engineScope.put(name, value);
- return;
- }
- case 200: {
- if (this.globalScope != null) {
- this.globalScope.put(name, value);
- return;
- }
- return;
- }
- }
- throw new IllegalArgumentException("Illegal scope value.");
- }
- @Override
- public Writer getWriter() {
- return this.writer;
- }
- @Override
- public Reader getReader() {
- return this.reader;
- }
- @Override
- public void setReader(Reader reader2) {
- this.reader = reader2;
- }
- @Override
- public void setWriter(Writer writer2) {
- this.writer = writer2;
- }
- @Override
- public Writer getErrorWriter() {
- return this.errorWriter;
- }
- @Override
- public void setErrorWriter(Writer writer2) {
- this.errorWriter = writer2;
- }
- @Override
- public int getAttributesScope(String name) {
- if (this.engineScope.containsKey(name)) {
- return 100;
- }
- if (this.globalScope == null || !this.globalScope.containsKey(name)) {
- return -1;
- }
- return 200;
- }
- @Override
- public Bindings getBindings(int scope) {
- if (scope == 100) {
- return this.engineScope;
- }
- if (scope == 200) {
- return this.globalScope;
- }
- throw new IllegalArgumentException("Illegal scope value.");
- }
- @Override
- public List<Integer> getScopes() {
- return scopes;
- }
- static {
- scopes.add(100);
- scopes.add(200);
- scopes = Collections.unmodifiableList(scopes);
- }
- }
|