See More

#ifndef _node_java_h_ #define _node_java_h_ #include #include #include #include class Java : public node::ObjectWrap { public: static void Init(v8::Handle<:object> target); JavaVM* getJvm() { return m_jvm; } JNIEnv* getJavaEnv() { return m_env; } jobject getClassLoader() { return m_classLoader; } private: Java(); ~Java(); v8::Handle<:value> createJVM(JavaVM** jvm, JNIEnv** env); void destroyJVM(JavaVM** jvm, JNIEnv** env); static v8::Handle<:value> New(const v8::Arguments& args); static v8::Handle<:value> getClassLoader(const v8::Arguments& args); static v8::Handle<:value> newInstance(const v8::Arguments& args); static v8::Handle<:value> newInstanceSync(const v8::Arguments& args); static v8::Handle<:value> newProxy(const v8::Arguments& args); static v8::Handle<:value> callStaticMethod(const v8::Arguments& args); static v8::Handle<:value> callStaticMethodSync(const v8::Arguments& args); static v8::Handle<:value> findClassSync(const v8::Arguments& args); static v8::Handle<:value> newArray(const v8::Arguments& args); static v8::Handle<:value> newByte(const v8::Arguments& args); static v8::Handle<:value> newChar(const v8::Arguments& args); static v8::Handle<:value> newShort(const v8::Arguments& args); static v8::Handle<:value> newLong(const v8::Arguments& args); static v8::Handle<:value> newFloat(const v8::Arguments& args); static v8::Handle<:value> newDouble(const v8::Arguments& args); static v8::Handle<:value> getStaticFieldValue(const v8::Arguments& args); static v8::Handle<:value> setStaticFieldValue(const v8::Arguments& args); static v8::Handle<:value> instanceOf(const v8::Arguments& args); static v8::Handle<:value> AccessorProhibitsOverwritingGetter(v8::Local<:string> name, const v8::AccessorInfo &info); static void AccessorProhibitsOverwritingSetter(v8::Local<:string> property, v8::Local<:value> value, const v8::AccessorInfo &info); v8::Handle<:value> ensureJvm(); static v8::Persistent<:functiontemplate> s_ct; JavaVM* m_jvm; JNIEnv* m_env; jobject m_classLoader; std::string m_classPath; static std::string s_nativeBindingLocation; v8::Persistent<:array> m_classPathArray; v8::Persistent<:array> m_optionsArray; }; #endif