Cross-platform solution, allowing to call operating system native library functions from Java code.
Vendor
TeamDev
Company Website
Work with native code in Java without JNI.
Runs on Windows, macOS, Linux, 32/64-bit
Clear API & Docs
Extensive documentation and dozens of examples.
Prompt support
Get reply from JNIWrapper engineers within one business day on the support site or premium support service.
Proven expertise
Created by engineers who have been integrating Java with MS IE, Firefox, WebKit, Safari, and Chromium for 22 years.
How to save money and time with JNIWrapper
Suppose that there is an existing application, written in C, that monitors conditions on a factory floor, and you need to incorporate this functionality into a Java application. The traditional approach using JNI involves Java and C developers as well as management coordination to keep the functionality synchronized. By contrast, using JNIWrapper is trivial and saves time and efforts dramatically.
Features
High-Performance
JNIWrapper can handle large amounts of data involved in interactions between the Java and native code, with no tuning on your side.
Automatic memory management
All resources allocated by JNIWrapper are released automatically when no longer needed. You can treat JNIWrapper variables as ordinary Java objects that can be reclaimed by the Java garbage collector. Besides, JNIWrapper objects are safe with regard to finalizers: all resources are guaranteed available during finalization.
Native function invocation
JNIWrapper supports both stdcall and cdecl calling conventions and multiple C/C++ data types including structures, unions and pointers. Callbacks are fully supported with any parameter and return types and both calling conventions. See Calling Native Functions in our Programmers Guide.
Extensible architecture
You can implement new data types or customize existing ones, taking full control over the parameter behavior. See Structures and Unions in our Programmers Guide.
Thread-safe concurrent function invocation
You can perform all native function calls simultaneously from different Java threads without the need for synchronization, just as if invoking simple Java methods. See Working with Multithreading in our Programmers Guide.
Custom search mechanism
In addition to a default mechanism for finding and loading a native library, JNIWrapper provides a way to customize the library loading. Also, it’s possible to load native libraries from JAR files.
Code generation wizard
Using the Code Generator Wizard bundled with JNIWrapper, you can generate Java wrappers for a required set of C types, including structures, unions and callbacks.
WinPack
When you purchase JNIWrapper you receive WinPack, a free add-on enabling access to the Windows native API and libraries from Java code. WinPack provides several integration features to make your Java application look and behave like a Win32 citizen. WinPack requires no extensive knowledge of the Win32 API, nor any writing of cumbersome wrapper classes for JNI.
Dialog boxes
With WinPack, you can use familiar Windows dialog boxes and modify window properties however you choose. See the following samples: Choose Color Dialog, Select Folder Dialog, Open/Save File Dialog.
Services, processes and event Logs
Using the Services API, you can start, stop or delete a service, display all running services in a list, and change the service options. WinPack lets you monitor and manage system processes, modules, memory and event logs. See related samples: Access Services Remote Computer, Enum Processes Sample, Event Log Sample.
Access to the registry
With just a snippet of code you can make your Java application read, write or delete the Windows registry keys and values. Most of the major data types are supported. See the following samples: Registry Key Set Values, Registry Key Enum Values.
Events and file management
WinPack lets you listen to the file system events. You can also get file attributes, check disk space and identify the disk media type. See the File System Sample.
Examples of apps our customers build
Rich Java client applications.
JNIWrapper provides easy access to OS features and resources, such as native windows and dialogs, system registry, hooks, shell resources, etc. The library allows using any platform functions without writing additional (JNI) wrappers.
Java libraries for integration with native SDKs.
JNIWrapper’s Code Generator creates wrappers for native C types from an SDK. This makes Java development routine more efficient.
Integration with native legacy applications.
JNIWrapper allows Java applications to interoperate with native applications and libraries written in different programming languages, such as C/C++, Pascal, ASM, etc.
Cross-platform Java integration solutions
which can be built on top of existing cross-platform native libraries. This is made possible due to JNIWrapper support of various operating systems and platforms.
Plug-ins and add-ons written in Java
for various integration scenarios which is possible with great JNIWrapper’s performance and its native memory management.