org.mozilla.javascript.NativeJavaConstructor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rhino Show documentation
Show all versions of rhino Show documentation
Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically
embedded into Java applications to provide scripting to end users.
The newest version!
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.javascript;
/**
* This class reflects a single Java constructor into the JavaScript environment. It satisfies a
* request for an overloaded constructor, as introduced in LiveConnect 3. All NativeJavaConstructors
* behave as JSRef `bound' methods, in that they always construct the same NativeJavaClass
* regardless of any reparenting that may occur.
*
* @author Frank Mitchell
* @see NativeJavaMethod
* @see NativeJavaPackage
* @see NativeJavaClass
*/
public class NativeJavaConstructor extends BaseFunction {
private static final long serialVersionUID = -8149253217482668463L;
MemberBox ctor;
public NativeJavaConstructor(MemberBox ctor) {
this.ctor = ctor;
}
@Override
public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) {
return NativeJavaClass.constructSpecific(cx, scope, args, ctor);
}
@Override
public String getFunctionName() {
String sig = JavaMembers.liveConnectSignature(ctor.argTypes);
return "".concat(sig);
}
@Override
public String toString() {
return "[JavaConstructor " + ctor.getName() + "]";
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy