All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jruby.embed.AttributeName Maven / Gradle / Ivy

There is a newer version: 9.4.9.0
Show newest version
/**
 * **** BEGIN LICENSE BLOCK *****
 * Version: EPL 1.0/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Eclipse Public
 * License Version 1.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-v10.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 *****
 */
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 */ 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. */ 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. */ 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. */ 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. */ 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. */ 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. */ 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. */ 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. */ 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. */ 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. */ RECEIVER("org.jruby.embed.receiver"); private final String fqpn; /** * 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. * * @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. * * @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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy