method handles and open packages
Michał Zegan
webczat_200 at poczta.onet.pl
Sat Jul 21 19:44:23 UTC 2018
I would also believe that the unreflect methods would work for this case
too if the reflected version had access checks already suppressed.
W dniu 21.07.2018 o 19:27, Remi Forax pisze:
> Hi,
>
> On July 21, 2018 3:43:51 PM UTC, "Michał Zegan" <webczat_200 at poczta.onet.pl> wrote:
>> Hello,
>> If I use reflection, I can access every member of every package in a
>> module if a module opens such package, and that includes private
>> members.
>> What, however, about using method handles for that purpose?
>
> https://docs.oracle.com/javase/9/docs/api/java/lang/invoke/MethodHandles.html#privateLookupIn-java.lang.Class-java.lang.invoke.MethodHandles.Lookup-
>
>> Also, if you have a class in module a that wants to deserialize data to
>> objects of classes in module b, then should module b open a package
>> with
>> those classes to a, or maybe, give the deserializer it's lookup object,
>> in order for it to be able to access members of non exported non opened
>> packages? It is for the case where the deserializer is called by the
>> module b. Also I assume that I do not need access to non public members
>> of classes, like I deserialize using public setters always.
>
> Rémi
>
>
>
More information about the jigsaw-dev
mailing list