const ( TRUE = C.JNI_TRUE FALSE = C.JNI_FALSE )
func CallIntMethod(e Env, obj Object, method MethodID, args ...Value) (int32, error)
CallIntMethod calls a method on an object, returning an int32.
func CallStaticIntMethod(e Env, cls Class, method MethodID, args ...Value) (int, error)
CallStaticIntMethod calls a static method on a Java class, returning an int.
func CallStaticVoidMethod(e Env, cls Class, method MethodID, args ...Value) error
CallStaticVoidMethod calls a static method on a Java class, returning nothing.
func CallVoidMethod(e Env, obj Object, method MethodID, args ...Value) error
CallVoidMethod calls a method on an object, returning nothing.
func DeleteGlobalRef(e Env, obj Object)
DeleteGlobalRef delets a global reference.
func DeleteLocalRef(e Env, obj Object)
DeleteLocalRef delets a local reference.
func Do(vm JVM, f func(env Env) error) error
Do invokes a function with a temporary JVM environment. The environment is not valid after the function returns.
func GetBooleanField(env Env, obj Object, fieldID FieldID) bool
GetBooleanField looks up the value of a static field of type boolean. It panics if it is unable to find the field.
func GetByteArrayElements(e Env, jarr ByteArray) []byte
GetByteArrayElements returns the contents of the array.
func GetByteField(env Env, obj Object, fieldID FieldID) byte
GetByteField looks up the value of a static field of type byte. It panics if it is unable to find the field.
func GetCharField(env Env, obj Object, fieldID FieldID) byte
GetCharField looks up the value of a static field of type char. It panics if it is unable to find the field.
func GetDoubleField(env Env, obj Object, fieldID FieldID) float64
GetDoubleField looks up the value of a static field of type double. It panics if it is unable to find the field.
func GetFloatField(env Env, obj Object, fieldID FieldID) float32
GetFloatField looks up the value of a static field of type float. It panics if it is unable to find the field.
func GetIntField(env Env, obj Object, fieldID FieldID) int32
GetIntField looks up the value of a static field of type int. It panics if it is unable to find the field.
func GetLongField(env Env, obj Object, fieldID FieldID) int64
GetLongField looks up the value of a static field of type long. It panics if it is unable to find the field.
func GetShortField(env Env, obj Object, fieldID FieldID) int16
GetShortField looks up the value of a static field of type short. It panics if it is unable to find the field.
func GetStaticBooleanField(env Env, clazz Class, fieldID FieldID) bool
GetStaticBooleanField looks up the value of a static field of type boolean. It panics if it is unable to find the field.
func GetStaticByteField(env Env, clazz Class, fieldID FieldID) byte
GetStaticByteField looks up the value of a static field of type byte. It panics if it is unable to find the field.
func GetStaticCharField(env Env, clazz Class, fieldID FieldID) byte
GetStaticCharField looks up the value of a static field of type char. It panics if it is unable to find the field.
func GetStaticDoubleField(env Env, clazz Class, fieldID FieldID) float64
GetStaticDoubleField looks up the value of a static field of type double. It panics if it is unable to find the field.
func GetStaticFloatField(env Env, clazz Class, fieldID FieldID) float32
GetStaticFloatField looks up the value of a static field of type float. It panics if it is unable to find the field.
func GetStaticIntField(env Env, clazz Class, fieldID FieldID) int32
GetStaticIntField looks up the value of a static field of type int. It panics if it is unable to find the field.
func GetStaticLongField(env Env, clazz Class, fieldID FieldID) int64
GetStaticLongField looks up the value of a static field of type long. It panics if it is unable to find the field.
func GetStaticShortField(env Env, clazz Class, fieldID FieldID) int16
GetStaticShortField looks up the value of a static field of type short. It panics if it is unable to find the field.
func GoString(e Env, str String) string
GoString converts the JVM jstring to a Go string.
func IsInstanceOf(e Env, obj Object, cls Class) bool
IsInstanceOf returns true if the given object is an instance of the given class.
func IsSameObject(e Env, ref1, ref2 Object) bool
IsSameObject returns true if the two given objects refer to the same Java object.
type ByteArray C.jbyteArray
func NewByteArray(e Env, content []byte) ByteArray
NewByteArray allocates a Java byte array with the content. It panics if the allocation fails.
type Class C.jclass
func FindClass(e Env, name string) Class
FindClass returns a reference to a Java class with a given name, using the JVM's default class loader. Any exceptions caused by the underlying JNI call (for example if the class is not found) will result in a panic.
func GetObjectClass(e Env, obj Object) Class
GetObjectClass returns the Java Class for an Object.
func LoadClass(e Env, loader Object, class string) (Class, error)
LoadClass invokes the underlying ClassLoader's loadClass method and returns the class.
type Env struct {
// contains filtered or unexported fields
}
func EnvFor(envPtr uintptr) Env
EnvFor creates an Env object, interpreting the given uintptr as a pointer to a C.JNIEnv object.
type FieldID C.jfieldID
func GetFieldID(e Env, cls Class, name, signature string) FieldID
GetFieldID returns the id for a field. It panics if the field wasn't found.
func GetStaticFieldID(e Env, cls Class, name, signature string) FieldID
GetStaticFieldID returns the id for a static field. It panics if the field wasn't found.
type JVM struct {
// contains filtered or unexported fields
}
func CreateJavaVM(opts ...string) JVM
CreateJavaVM creates a new Java VM with the options specified (if any). This should not be called more than once as it can result in an error if a JVM already exists for a given process.
This is not implemented on Android and is therefore excluded on that platform by build flags and C.
func JVMFor(jvmPtr uintptr) JVM
JVMFor creates a JVM object, interpreting the given uintptr as a pointer to a C.JavaVM object.
type MethodID C.jmethodID
func GetMethodID(e Env, cls Class, name, signature string) MethodID
GetMethodID returns the id for a method. It panics if the method wasn't found.
func GetStaticMethodID(e Env, cls Class, name, signature string) MethodID
GetStaticMethodID returns the id for a static method. It panics if the method wasn't found.
type Object C.jobject
func CallObjectMethod(e Env, obj Object, method MethodID, args ...Value) (Object, error)
CallObjectMethod calls a method on an object, returning a Java object.
func CallStaticObjectMethod(e Env, cls Class, method MethodID, args ...Value) (Object, error)
CallStaticObjectMethod calls a static method on a class, returning a Java object
func ClassLoaderFor(e Env, obj Object) Object
ClassLoader returns a reference to the Java ClassLoader associated with obj.
func GetObjectField(env Env, obj Object, fieldID FieldID) Object
GetObjectField looks up the value of a static field of type Object. It panics if it is unable to find the field.
func GetStaticObjectField(env Env, clazz Class, fieldID FieldID) Object
GetStaticObjectField looks up the value of a static field of type Object. It panics if it is unable to find the field.
func NewGlobalRef(e Env, obj Object) Object
NewGlobalRef creates a new global reference.
func NewLocalRef(e Env, obj Object) Object
NewLocalRef creates a new local reference to the given object.
func NewObject(e Env, cls Class, method MethodID, args ...Value) (Object, error)
NewObject creates a new object given a class, initializer method, and initializer arguments (if any).
type String C.jstring
func JavaString(e Env, str string) String
JavaString converts the string to a JVM jstring.
type Value uint64 // All JNI types fit into 64-bits.