**** BEGIN LICENSE BLOCK ***** Version: EPL 2.0/GPL 2.0/LGPL 2.1 The contents of this file are subject to the Eclipse Public License Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.eclipse.org/legal/epl-v20.html Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyright (C) 2009-2012 Yoko Harada Alternatively, the contents of this file may be used under the terms of either of the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the EPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the EPL, the GPL or the LGPL. **** END LICENSE BLOCK *****
/** * **** BEGIN LICENSE BLOCK ***** * Version: EPL 2.0/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Eclipse Public * License Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.eclipse.org/legal/epl-v20.html * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * Copyright (C) 2009-2012 Yoko Harada <yokolet@gmail.com> * * Alternatively, the contents of this file may be used under the terms of * either of the GNU General Public License Version 2 or later (the "GPL"), * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the EPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the EPL, the GPL or the LGPL. * **** END LICENSE BLOCK ***** */
package org.jruby.embed;
Predefined keys for an attribute map that ScriptingContainer has. Usage example:
    ScriptingContainer container = new ScriptingContainer();
    container.setAttribute(AttributeName.BASE_DIR, System.getProperty("user.dir");
Author:Yoko Harada
/** * Predefined keys for an attribute map that ScriptingContainer has. * Usage example: * <pre> * ScriptingContainer container = new ScriptingContainer(); * container.setAttribute(AttributeName.BASE_DIR, System.getProperty("user.dir");</pre> * * @author Yoko Harada <yokolet@gmail.com> */
public enum AttributeName {
A key used in an attribute map to set a reader. This attribute can be set using a System property, org.jruby.embed.reader.
/** * A key used in an attribute map to set a reader. This attribute can be * set using a System property, org.jruby.embed.reader. */
READER("org.jruby.embed.reader"),
A key used in an attribute map to set a writer. This attribute can be set using a System property, org.jruby.embed.writer.
/** * A key used in an attribute map to set a writer. This attribute can be * set using a System property, org.jruby.embed.writer. */
WRITER("org.jruby.embed.writer"),
A key used in an attribute map to set an error writer. This attribute can be set using a System property, org.jruby.embed.errorwriter.
/** * A key used in an attribute map to set an error writer. This attribute can be * set using a System property, org.jruby.embed.errorwriter. */
ERROR_WRITER("org.jruby.embed.errorwriter"),
A key used in an attribute map to set a base directory. This attribute can be set using a System property, org.jruby.embed.basedir.
/** * A key used in an attribute map to set a base directory. This attribute can be * set using a System property, org.jruby.embed.basedir. */
BASE_DIR("org.jruby.embed.basedir"),
A key used in an attribute map to set a line number in error message. This attribute is for JSR223 only. This attribute can be set using a System property, org.jruby.embed.linenumber.
/** * A key used in an attribute map to set a line number in error message. * This attribute is for JSR223 only. This attribute can be * set using a System property, org.jruby.embed.linenumber. */
LINENUMBER("org.jruby.embed.linenumber"),
A key used in an attribute map to specify that the script to be parsed has unicode escape in it. Default is false. This attribute can be set using a System property, org.jruby.embed.unicode.escpe.
/** * A key used in an attribute map to specify that the script to be parsed has * unicode escape in it. Default is false. This attribute can be * set using a System property, org.jruby.embed.unicode.escpe. */
UNICODE_ESCAPE("org.jruby.embed.unicode.escpe"),
A key used in an attribute map to turn on/off sharing variable feature. Default is true. If false is set, sharing variables goes off, and better performance will be expected. This attribute can be set using a System property, org.jruby.embed.sharing.variables.
/** * A key used in an attribute map to turn on/off sharing variable feature. * Default is true. If false is set, sharing variables goes off, and better * performance will be expected. This attribute can be * set using a System property, org.jruby.embed.sharing.variables. */
SHARING_VARIABLES("org.jruby.embed.sharing.variables"),
A key used in an attribute map to turn on/off clearing variables. This attribute is for JSR223 only. Default is false, which means JRubyEngine doesn't clear an internal variable table, which ends up in being reused. If true is set, JRubyEngine clears the internal variable table.
/** * A key used in an attribute map to turn on/off clearing variables. * This attribute is for JSR223 only. * * Default is false, which means JRubyEngine doesn't clear an internal * variable table, which ends up in being reused. If true is set, JRubyEngine * clears the internal variable table. */
CLEAR_VARAIBLES("org.jruby.embed.clear.variables"),
A key used in an attribute map to turn on/off termination. This attribute is for JSR223 only. Default is false, which means JRubyEngine doesn't terminate any state and doesn't execute at_exit blocks. If true is set, JRubyEngine terminates the state as well as executes at_exit blocks. This attribute can be set using a System property, org.jruby.embed.termination.
/** * A key used in an attribute map to turn on/off termination. This attribute * is for JSR223 only. * * Default is false, which means JRubyEngine doesn't terminate any state and * doesn't execute at_exit blocks. If true is set, JRubyEngine terminates the state * as well as executes at_exit blocks. This attribute can be * set using a System property, org.jruby.embed.termination. */
TERMINATION("org.jruby.embed.termination"),
A key used in an attribute map to set a receiver object for sharing variables. This attribute is for JSR223 only. This attribute can be set using a System property, org.jruby.embed.receiver.
/** * A key used in an attribute map to set a receiver object for sharing variables. * This attribute is for JSR223 only. This attribute can be * set using a System property, org.jruby.embed.receiver. */
RECEIVER("org.jruby.embed.receiver"); private final String fqpn;
Creates an AttributeName Enum type instance.
Params:
  • fqan – a fully qualified attribute name
/** * Creates an AttributeName Enum type instance. * * @param fqan a fully qualified attribute name */
AttributeName(String fqpn) { this.fqpn = fqpn; }
Returns the fully qualified attribute name of this enum constant.
Returns:a fully qualified attribute name
/** * Returns the fully qualified attribute name of this enum constant. * * @return a fully qualified attribute name */
@Override public String toString() { return fqpn; }
Returns a fully qualified attribute name that corresponds to a given enumerated type identifier.
Params:
  • fqan – fully qualified attribute name
Returns:a matched enumerated type identifier
/** * Returns a fully qualified attribute name that corresponds to a given * enumerated type identifier. * * @param fqan fully qualified attribute name * @return a matched enumerated type identifier */
public static AttributeName getType(String fqpn) { AttributeName[] names = AttributeName.values(); for (int i=0; i<names.length; i++) { if (fqpn.equals(names[i].toString())) { return names[i]; } } return null; } }