Open keith-turner opened 3 months ago
Maybe the java module mechanism could be use to limit the types available publicly instead of relying on package private and the script mentioned in the description, not sure.
I think modules can only be as granular as packages, and everything in that package is accessible via reflection. So, if you want something not exposed, even by reflection, you have to put it in a separate package in a separate module and define the relationships between the modules in your module-info.java
. In the other module, it will probably have to be more visible (public) so you can use it across the traditional package boundaries.
@ctubbsii I read about modules a long time ago when they first came out, but can not remember the details. Reading your comment I am wondering if you think modules are workable for accumulo-access? My interpretation of your comment is that its workable but will require a reorg of code into a diff package layout.
Yes, I think it's workable, and yes I think it will require a slight reorg, so that internal "impl" code is in a separate package. But I'm no expert on modules. I mainly think it'd be a good library to try it with, because it's low risk on a small library, and there's much knowledge yet to be gained from trying it :smiley_cat:
_Originally posted by @keith-turner in https://github.com/apache/accumulo-access/pull/80#discussion_r1693394791_