Java Binding Enhancements from Janelia
- Dominant language
- C
- Stars
- 988
- Forks
- 355
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 12
Description
**Is your feature request related to a problem? Please describe.**
This is a tracking issue for enhancements to the Java bindings from the Janelia Research Campus of the Howard Hughes Medical Institute
**Describe the solution you'd like**
Improve Java Native Interface Bindings:
- [ ] Improve exposure of the H5D chunk interface
- [ ] Create new bindings for the new [Java Foreign Function Interface](https://openjdk.org/jeps/424).
Improve packaging for Java:
- [ ] Incorporate native library loader (SciJava native library loader https://github.com/scijava/native-lib-loader )
- [ ] Package official bindings via Maven
**Describe alternatives you've considered**
Java Native Access allows for dynamically generated bindings:
https://github.com/java-native-access/jna
JavaCPP creates automatically generated bindings
https://github.com/bytedeco/javacpp-presets/tree/master/hdf5
**Additional context**
- [Java 19 Java Native Interface Documentation](https://docs.oracle.com/en/java/javase/19/docs/specs/jni/functions.html#newdirectbytebuffer)
- In particular, see the [java.nio.ByteBuffer](https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html) related methods such as [NewDirectByteBuffer](https://docs.oracle.com/en/java/javase/19/docs/specs/jni/functions.html#newdirectbytebuffer)
- New foreign API: [java.lang.foreign ](https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/foreign/package-summary.html)
- See [java.lang.foreign.MemorySegment](https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/foreign/MemorySegment.html#asByteBuffer()) and the `asByteBuffer` method.
Contributor guide
Assessment
This issue has not been assessed yet.