#105 IClass: new safe filtered version

Chiuso
aperto 2 anni fa da ranides · 2 commenti
ranides ha commentato 2 anni fa

We can write new IClass implementation which implements all possible checks inside all methods (interfaces, parents, methods, fields etc).

We will test it under JDK 11 to see warnings.

This new implementation probably will be just alternative version of RClass - all other classes are more or less dependent on internal IClass field and there is a chance that "safe-logic" implemented in parent would be enough.

If not, another attempt would be adding final boolean safe flag into every implementation.

Anyway, to create this safe version we will call non-static IClass#safe method which will produce new, safe version.

This safe class would be enough to solve problems with BeanModel.

We can write new IClass implementation which implements all possible checks inside all methods (_interfaces_, _parents_, _methods_, _fields_ etc). We will test it under JDK 11 to see warnings. This new implementation probably will be just alternative version of RClass - all other classes are more or less dependent on internal IClass field and there is a chance that "safe-logic" implemented in parent would be enough. If not, another attempt would be adding `final boolean safe` flag into every implementation. Anyway, to create this safe version we will call non-static `IClass#safe` method which will produce new, safe version. This safe class would be enough to solve problems with `BeanModel`.
ranides ha commentato 2 anni fa
Proprietario

see #102

see #102
ranides ha commentato 2 anni fa
Proprietario

This task is good place for resolving general problem with net.ranides.assira.reflection.util.ReflectUtils#access

In JDK 9+ we should use AccessibleObject.canAccess() and forget about AccessibleObject.isAccessible()

This task is good place for resolving general problem with `net.ranides.assira.reflection.util.ReflectUtils#access` In JDK 9+ we should use AccessibleObject.canAccess() and forget about AccessibleObject.isAccessible()
Sign in to join this conversation.
Nessuna milestone
Nessun assegnatario
1 Partecipanti
Caricamento...
Annulla
Salva
Non ci sono ancora contenuti.