Hi,

The situation is not different from, say, zip/jar file system - that file system too exposes *all* underlying resources via file system. All .class resources - package private classes, anonymous inner classes etc. are exposed. Language notions like public/package-private/anonymous etc. have to be found only by reading appropriate .class resources. Similarly, module export/requires/use information has be to be found only reading & parsing module-info.class resources. Repeating that info at file system level is problematic - redundancy, potential inconsistency...

Thanks.
-Sundar

On 10/19/2015 5:42 PM, Philippe Marschall wrote:
Hi

I'm toying around with the jrt filesystem [1]. I noted that non-API classes are shown for java modules (see attachment). I assume this is because jrt currently reports all classes in a module, not just the exported ones (and these classes are not exported). Assuming this is the intended behavior this is a bit inconvenient. One would have to parse the module-info.class to find out what is exported. Some possible solutions could include:

* have a file attribute specific to the jrt filesystem "exported" to report whether a file/package is exported
 * have two subtrees in a module, eg. "all" and "exported"

 [1] https://github.com/marschall/jrt-explorer

Cheers
Philippe

Reply via email to