Help us shape the future of Go! Take the 2026 Go Developer Survey

jnigo

package module
v0.0.0-...-303e652 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2018 License: MIT Imports: 7 Imported by: 1

README

jnigo

JNI wrapper for Go

Installation

for Debian/Ubuntu
apt install default-jre-headless openjdk-8-jdk

go get github.com/juntaki/jnigo
for Mac
brew cask install java

export JAVA_HOME=`/usr/libexec/java_home` 
export CGO_CFLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/darwin" 
export CGO_LDFLAGS="-L$JAVA_HOME/jre/lib/server/ -ljvm -lpthread" 
go get github.com/nqbao/jnigo
Testing
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/server/
export CLASSPATH=./test
go test

Documentation

Index

Constants

View Source
const (
	SignatureBoolean      = "Z"
	SignatureByte         = "B"
	SignatureChar         = "C"
	SignatureShort        = "S"
	SignatureInt          = "I"
	SignatureLong         = "J"
	SignatureFloat        = "F"
	SignatureDouble       = "D"
	SignatureArray        = "["
	SignatureVoid         = "V"
	SignatureClass        = "L"
	SignatureBooleanArray = SignatureArray + SignatureBoolean
	SignatureByteArray    = SignatureArray + SignatureByte
	SignatureCharArray    = SignatureArray + SignatureChar
	SignatureShortArray   = SignatureArray + SignatureShort
	SignatureIntArray     = SignatureArray + SignatureInt
	SignatureLongArray    = SignatureArray + SignatureLong
	SignatureFloatArray   = SignatureArray + SignatureFloat
	SignatureDoubleArray  = SignatureArray + SignatureDouble
	SignatureClassArray   = SignatureArray + SignatureClass
)

Variables

Functions

This section is empty.

Types

type CJvalue

type CJvalue struct {
	// contains filtered or unexported fields
}

CJvalue wraps C.jvalue for type conversion

func NewCJvalue

func NewCJvalue(javavalue *C.jvalue) CJvalue

type JClass

type JClass struct {
	JObject
	// contains filtered or unexported fields
}

func (*JClass) CallFunction

func (c *JClass) CallFunction(method, sig string, argv []JObject) (JObject, error)

func (*JClass) GetField

func (c *JClass) GetField(field, sig string) (JObject, error)

func (*JClass) GoValue

func (c *JClass) GoValue() interface{}

func (*JClass) JValue

func (c *JClass) JValue() CJvalue

func (*JClass) JavaValue

func (c *JClass) JavaValue() CJvalue

func (*JClass) SetField

func (c *JClass) SetField(field string, val JObject) error

func (*JClass) Signature

func (c *JClass) Signature() string

func (*JClass) String

func (c *JClass) String() string

type JObject

type JObject interface {
	Signature() string
	GoValue() interface{}
	JavaValue() CJvalue
}

type JVM

type JVM struct {
	// contains filtered or unexported fields
}

func CreateJVM

func CreateJVM() *JVM

func (*JVM) CallStaticFunction

func (jvm *JVM) CallStaticFunction(classfqcn, method, sig string, argv []JObject) (JObject, error)

func (*JVM) Convert

func (jvm *JVM) Convert(value interface{}) (JObject, error)

func (*JVM) ConvertAll

func (jvm *JVM) ConvertAll(allValue []interface{}) ([]JObject, error)

func (*JVM) ExceptionCheck

func (jvm *JVM) ExceptionCheck() error

func (*JVM) FindClass

func (jvm *JVM) FindClass(classfqcn string) (C.jobject, error)

func (*JVM) FindMethodID

func (jvm *JVM) FindMethodID(clazz C.jobject, method, sig string) (C.jmethodID, error)

func (*JVM) GetStaticField

func (jvm *JVM) GetStaticField(classfqcn, field, sig string) (JObject, error)

func (*JVM) NewJClass

func (jvm *JVM) NewJClass(fqcn string, args []JObject) (*JClass, error)

func (*JVM) NewString

func (jvm *JVM) NewString(str string) (*jString, error)

func (*JVM) SetField

func (jvm *JVM) SetField(classfqcn, field string, val JObject) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL