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 org.apache.servicemix.bundles.rhino
Show all versions of org.apache.servicemix.bundles.rhino
This OSGi bundle wraps rhino and rhino-engine ${pkgVersion} jar files.
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