User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
Hi,
Just like the founders of this project, I know that Java is lacking a
lot of desktop integration features. For a while I've been developing an
open-source file manager in Java and these are the main areas where I
have to use native bindings:
- partition information - there's no way of obtaining basic partition
information in Java: type, size, free space. The Eclipse Update Manager
codebase contains such code
(http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.update.core.win32/src/)
and I use something similar to it. It's not that hard, but it's still
native code and should be available as an API. For example, any
container/application server needs such an API for doing a safe deploy.
- file permissions/attributes - all you can do in Java is set a file's
read-only attribute. There's no way of resetting it. And you can check
if it's hidden, but no API for changes is provided. There should be a
specialized API for dealing with a unified file permission model that
covers mainly the permission models of win32 and Unix.
While trying to address these needs for my application, I directly
experienced the two obvious difficulties in developing native bindings:
- design of a unified and platform independent API - requires knowledge
of all the major platforms
- implementation of the APIs for each target platform - thorough
knowledge of the specific APIs is needed and this is the hardest part
What I've found out as missing in Java for desktop integration is just a
small part of what other requirements might be.
Do you have a plan about the areas of desktop integration that the
Eclipse Desktop project intends to address?