File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -121,6 +121,7 @@ try {
121121 * [options](#javaOptions)
122122 * [import](#javaImport)
123123 * [newInstance](#javaNewInstance)
124+ * [instanceOf](#javaInstanceOf)
124125 * [callStaticMethod](#javaCallStaticMethod)
125126 * [getStaticFieldValue](#javaGetStaticFieldValue)
126127 * [setStaticFieldValue](#javaSetStaticFieldValue)
@@ -203,6 +204,24 @@ __Example__
203204 // new list
204205 });
205206
207+ <a name="javaInstanceOf" />
208+ **java.instanceOf(javaObject, className)**
209+
210+ Determines of a javaObject is an instance of a class.
211+
212+ __Arguments__
213+
214+ * javaObject - Instance of a java object returned from a method or from newInstance.
215+ * className - A string class name.
216+
217+ __Example__
218+
219+ var obj = java.newInstanceSync("my.package.SubClass");
220+
221+ if(java.instanceOf(obj, "my.package.SuperClass")) {
222+ console.log("obj is an instance of SuperClass");
223+ }
224+
206225<a name="javaCallStaticMethod" />
207226**java.callStaticMethod(className, methodName, [args...], callback)**
208227
Original file line number Diff line number Diff line change @@ -58,7 +58,7 @@ long my_getThreadId() {
5858 NODE_SET_PROTOTYPE_METHOD (s_ct, " newFloat" , newFloat);
5959 NODE_SET_PROTOTYPE_METHOD (s_ct, " getStaticFieldValue" , getStaticFieldValue);
6060 NODE_SET_PROTOTYPE_METHOD (s_ct, " setStaticFieldValue" , setStaticFieldValue);
61- NODE_SET_PROTOTYPE_METHOD (s_ct, " instanceof " , instanceof );
61+ NODE_SET_PROTOTYPE_METHOD (s_ct, " instanceOf " , instanceOf );
6262
6363 target->Set (v8::String::NewSymbol (" Java" ), s_ct->GetFunction ());
6464}
@@ -823,7 +823,7 @@ void Java::destroyJVM(JavaVM** jvm, JNIEnv** env) {
823823 return v8::Undefined ();
824824}
825825
826- /* static*/ v8::Handle<v8::Value> Java::instanceof (const v8::Arguments& args) {
826+ /* static*/ v8::Handle<v8::Value> Java::instanceOf (const v8::Arguments& args) {
827827 v8::HandleScope scope;
828828 Java* self = node::ObjectWrap::Unwrap<Java>(args.This ());
829829 v8::Handle<v8::Value> ensureJvmResults = self->ensureJvm ();
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ class Java : public node::ObjectWrap {
3636 static v8::Handle<v8::Value> newFloat (const v8::Arguments& args);
3737 static v8::Handle<v8::Value> getStaticFieldValue (const v8::Arguments& args);
3838 static v8::Handle<v8::Value> setStaticFieldValue (const v8::Arguments& args);
39- static v8::Handle<v8::Value> instanceof (const v8::Arguments& args);
39+ static v8::Handle<v8::Value> instanceOf (const v8::Arguments& args);
4040 static v8::Handle<v8::Value> AccessorProhibitsOverwritingGetter (v8::Local<v8::String> name, const v8::AccessorInfo &info);
4141 static void AccessorProhibitsOverwritingSetter (v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo &info);
4242 v8::Handle<v8::Value> ensureJvm ();
Original file line number Diff line number Diff line change @@ -260,6 +260,14 @@ exports['Simple'] = nodeunit.testCase({
260260 test . equal ( r [ 0 ] , 1 ) ;
261261 test . equal ( r [ 1 ] , 2 ) ;
262262 test . done ( ) ;
263+ } ,
264+
265+ "instanceof test" : function ( test ) {
266+ var subclass = java . newInstanceSync ( "Test$SubClass" ) ;
267+ if ( ! java . instanceOf ( subclass , "Test$SuperClass" ) ) {
268+ test . fail ( subclass . getNameSync ( ) + " should be an instance of Test$SuperClass" ) ;
269+ }
270+ test . done ( ) ;
263271 }
264272
265273} ) ;
You can’t perform that action at this time.
0 commit comments