General

Get answers to commonly asked general questions about JNIWrapper. If you don’t find the answer, send us your question using the support forum, and we will add it to this FAQ after answering you.

What is JNIWrapper?

JNIWrapper is a library that allows calling native functions directly from Java code.

Java provides so many features - why would I need native functions?

Some platform-dependent features, such as Windows registry, are not accessible through the Java API. You may also have some legacy software available in the form of a native library that you need to access. JNIWrapper makes it possible.

What Java versions are supported?

Officially, J2SE versions 1.3.x, 1.4.x and Java 5 are supported. We develop and test JNIWrapper using these versions of Java. However, JNIWrapper for Linux requires JRE 1.4.x. Why?

Will a program that uses JNIWrapper run on any platform?

It depends on how you are planning to use JNIWrapper and for what purposes. Essentially, a program that uses Java Native Interface (JNI) is not a true cross-platform one, because it employs platform-dependent native code. JNIWrapper is no exception. Currently, there are Windows, Mac OS and Linux versions of JNIWrapper, therefore the code that uses JNIWrapper can run on Windows, Windowsx64, Mac OS X and Linux platforms.

In your program, you can have a platform detection logic that would allow doing things differently depending on a platform where your code is running. For example, you may want your program to display a tray icon, when running on Windows, but under other platforms and windowing systems, your program would behave differently. As a result, your program will run on multiple platforms.

Is jniwrap.jar specific to a platform? Can I use the same jar file for all supported platforms or they are different?

The jniwrap.jar is the cross platform library, i.e. it can be used on any supported by JNIWrapper platforms. However, there are different native JNIWrapper libraries which depend on a platform. So, for Windows platforms these are jniwrap.dll and jniwrap64.dll (32-bit and 64-bit versions of JNIWrapper library correspondingly), for Linux these are libjniwrap.so and libjniwrap64.so, and so on. 

What is your upgrade policy?

When you buy a license for JNIWrapper or any other TeamDev product, you are guaranteed to get free upgrades for all versions with the same major version number. That is, if you bought JNIWrapper version 2.0, you can get free upgrades for all 2.x versions. The same applies to 3.x. version upgrades. Upgrading from 2.x to 3.x version requires payment. However, you can upgrade to the next major version at no cost within 60 days from the date of purchase of any product version.
To upgrade your version of JNIWrapper, please use the online upgrade form on the Download or Purchase pages.

I have JNIWrapper for Windows. Are there any discounts if I want to buy JNIWrapper for Linux?

Yes. We offer our customers a 15% discount for all TeamDev products. So if, for example, you purchased JNIWrapper, you can get any other of our products at a discount price using personal coupon code. You will receive this coupon code in the e-mail message along with your purchased product license(s). In order to buy at a discount, simply enter your personal coupon code in the online order form for the product you want.
If, for some reason, you don’t have your personal coupon code or have lost it, please contact our sales department at sales@teamdev.com.

I want to buy multiple licenses for JNIWrapper. Do you provide any volume discounts?

Yes. If you wish to purchase a large number of licenses, you can do so at volume discounts. Price breaks start at five licenses, and the more you buy the bigger discounts you receive. To learn about volume price quotation, please contact our sales department at sales@teamdev.com.
What’s more, if you are already our customer, you can save even more when making a volume purchase using our 15% customer discount.

Do you use JNIWrapper yourself?

Yes. We successfully used JNIWrapper technology in several projects both for accessing platform-specific features and for legacy code integration. It appeared to be so useful to us that we decided to offer it as a commercial product. Currently, we continue using JNIWrapper and have big plans regarding its further development.