diff options
author | Egil Moeller <egil.moller@freecode.no> | 2010-03-22 00:16:53 +0100 |
---|---|---|
committer | Egil Moeller <egil.moller@freecode.no> | 2010-03-22 00:16:53 +0100 |
commit | fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7 (patch) | |
tree | 928419d6bfe794865e4b8f0634bd792f795c4b8a /trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Delegator.java | |
parent | 0fdab3db005c4fa31fb8306b573c0b35073d3e56 (diff) | |
parent | d56b9b3b82cdebcaeb00eec0fcb4326ad21adaa8 (diff) | |
download | etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.tar.gz etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.tar.xz etherpad-fc00cfedd6c25d1634a1e0d28a7b7bc5f42e1cd7.zip |
Merge branch 'master' into plugin-framework
Diffstat (limited to 'trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Delegator.java')
-rw-r--r-- | trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Delegator.java | 266 |
1 files changed, 0 insertions, 266 deletions
diff --git a/trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Delegator.java b/trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Delegator.java deleted file mode 100644 index e044863..0000000 --- a/trunk/infrastructure/rhino1_7R1/src/org/mozilla/javascript/Delegator.java +++ /dev/null @@ -1,266 +0,0 @@ -/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (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.mozilla.org/MPL/ - * - * 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. - * - * The Original Code is Delegator.java, released - * Sep 27, 2000. - * - * The Initial Developer of the Original Code is - * Matthias Radestock. <matthias@sorted.org>. - * Portions created by the Initial Developer are Copyright (C) 2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License Version 2 or later (the "GPL"), in which - * case the provisions of the GPL are applicable instead of those above. If - * you wish to allow use of your version of this file only under the terms of - * the GPL and not to allow others to use your version of this file under the - * MPL, indicate your decision by deleting the provisions above and replacing - * them with the notice and other provisions required by the GPL. If you do - * not delete the provisions above, a recipient may use your version of this - * file under either the MPL or the GPL. - * - * ***** END LICENSE BLOCK ***** */ - -// API class - -package org.mozilla.javascript; - -/** - * This is a helper class for implementing wrappers around Scriptable - * objects. It implements the Function interface and delegates all - * invocations to a delegee Scriptable object. The normal use of this - * class involves creating a sub-class and overriding one or more of - * the methods. - * - * A useful application is the implementation of interceptors, - * pre/post conditions, debugging. - * - * @see Function - * @see Scriptable - * @author Matthias Radestock - */ - -public class Delegator implements Function { - - protected Scriptable obj = null; - - /** - * Create a Delegator prototype. - * - * This constructor should only be used for creating prototype - * objects of Delegator. - * - * @see org.mozilla.javascript.Delegator#construct - */ - public Delegator() { - } - - /** - * Create a new Delegator that forwards requests to a delegee - * Scriptable object. - * - * @param obj the delegee - * @see org.mozilla.javascript.Scriptable - */ - public Delegator(Scriptable obj) { - this.obj = obj; - } - - /** - * Crete new Delegator instance. - * The default implementation calls this.getClass().newInstance(). - * - * @see #construct(Context cx, Scriptable scope, Object[] args) - */ - protected Delegator newInstance() - { - try { - return this.getClass().newInstance(); - } catch (Exception ex) { - throw Context.throwAsScriptRuntimeEx(ex); - } - } - - /** - * Retrieve the delegee. - * - * @return the delegee - */ - public Scriptable getDelegee() { - return obj; - } - /** - * Set the delegee. - * - * @param obj the delegee - * @see org.mozilla.javascript.Scriptable - */ - public void setDelegee(Scriptable obj) { - this.obj = obj; - } - /** - * @see org.mozilla.javascript.Scriptable#getClassName - */ - public String getClassName() { - return obj.getClassName(); - } - /** - * @see org.mozilla.javascript.Scriptable#get(String, Scriptable) - */ - public Object get(String name, Scriptable start) { - return obj.get(name,start); - } - /** - * @see org.mozilla.javascript.Scriptable#get(int, Scriptable) - */ - public Object get(int index, Scriptable start) { - return obj.get(index,start); - } - /** - * @see org.mozilla.javascript.Scriptable#has(String, Scriptable) - */ - public boolean has(String name, Scriptable start) { - return obj.has(name,start); - } - /** - * @see org.mozilla.javascript.Scriptable#has(int, Scriptable) - */ - public boolean has(int index, Scriptable start) { - return obj.has(index,start); - } - /** - * @see org.mozilla.javascript.Scriptable#put(String, Scriptable, Object) - */ - public void put(String name, Scriptable start, Object value) { - obj.put(name,start,value); - } - /** - * @see org.mozilla.javascript.Scriptable#put(int, Scriptable, Object) - */ - public void put(int index, Scriptable start, Object value) { - obj.put(index,start,value); - } - /** - * @see org.mozilla.javascript.Scriptable#delete(String) - */ - public void delete(String name) { - obj.delete(name); - } - /** - * @see org.mozilla.javascript.Scriptable#delete(int) - */ - public void delete(int index) { - obj.delete(index); - } - /** - * @see org.mozilla.javascript.Scriptable#getPrototype - */ - public Scriptable getPrototype() { - return obj.getPrototype(); - } - /** - * @see org.mozilla.javascript.Scriptable#setPrototype - */ - public void setPrototype(Scriptable prototype) { - obj.setPrototype(prototype); - } - /** - * @see org.mozilla.javascript.Scriptable#getParentScope - */ - public Scriptable getParentScope() { - return obj.getParentScope(); - } - /** - * @see org.mozilla.javascript.Scriptable#setParentScope - */ - public void setParentScope(Scriptable parent) { - obj.setParentScope(parent); - } - /** - * @see org.mozilla.javascript.Scriptable#getIds - */ - public Object[] getIds() { - return obj.getIds(); - } - /** - * Note that this method does not get forwarded to the delegee if - * the <code>hint</code> parameter is null, - * <code>ScriptRuntime.ScriptableClass</code> or - * <code>ScriptRuntime.FunctionClass</code>. Instead the object - * itself is returned. - * - * @param hint the type hint - * @return the default value - * - * @see org.mozilla.javascript.Scriptable#getDefaultValue - */ - public Object getDefaultValue(Class hint) { - return (hint == null || - hint == ScriptRuntime.ScriptableClass || - hint == ScriptRuntime.FunctionClass) ? - this : obj.getDefaultValue(hint); - } - /** - * @see org.mozilla.javascript.Scriptable#hasInstance - */ - public boolean hasInstance(Scriptable instance) { - return obj.hasInstance(instance); - } - /** - * @see org.mozilla.javascript.Function#call - */ - public Object call(Context cx, Scriptable scope, Scriptable thisObj, - Object[] args) - { - return ((Function)obj).call(cx,scope,thisObj,args); - } - - /** - * Note that if the <code>delegee</code> is <code>null</code>, - * this method creates a new instance of the Delegator itself - * rathert than forwarding the call to the - * <code>delegee</code>. This permits the use of Delegator - * prototypes. - * - * @param cx the current Context for this thread - * @param scope an enclosing scope of the caller except - * when the function is called from a closure. - * @param args the array of arguments - * @return the allocated object - * - * @see Function#construct(Context, Scriptable, Object[]) - */ - public Scriptable construct(Context cx, Scriptable scope, Object[] args) - { - if (obj == null) { - //this little trick allows us to declare prototype objects for - //Delegators - Delegator n = newInstance(); - Scriptable delegee; - if (args.length == 0) { - delegee = new NativeObject(); - } else { - delegee = ScriptRuntime.toObject(cx, scope, args[0]); - } - n.setDelegee(delegee); - return n; - } - else { - return ((Function)obj).construct(cx,scope,args); - } - } -} |