Bug fix release
-
Java reference counting has been converted to use JNI
PushLocalFrame/PopLocalFrame. Several resource leaks
were removed. -
java.lang.Class<>.forName() will now return the java.lang.Class.
Work arounds for requiring the class loader are no longer needed.
Customizers now support customization of static members. -
Support of java.lang.Class<>
-
java.lang.Object().getClass() on Java objects returns a java.lang.Class
rather than the Python class -
java.lang.Object().class on Java objects returns the python class
as do all python objects -
java.lang.Object.class_ maps to the java statement 'java.lang.Object.class' and
returns the java.lang.Class<java.lang.object> -
java.lang.Class supports reflection methods
-
private fields and methods can be accessed via reflection
-
annotations are avaiable via reflection
-
Java objects and arrays will not accept setattr unless the
attribute corresponds to a java method or field whith
the exception of private attributes that begin with
underscore. -
Added support for automatic conversion of boxed types.
-
Boxed types automatically convert to python primitives.
-
Boxed types automatically convert to java primitives when resolving functions.
-
Functions taking boxed or primitives still resolve based on closest match.
-
Python integer primitives will implicitly match java float and double as per
Java specification. -
Added support for try with resources for java.lang.Closeable.
Use python "with MyJavaResource() as resource:" statement
to automatically close a resource at the end of a block.