#105 IClass: new safe filtered version

Затворени
отворен преди 2 години от ranides · 2 коментара
ranides коментира преди 2 години

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 коментира преди 2 години
Притежател

see #102

see #102
ranides коментира преди 2 години
Притежател

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()
ranides посочи тази задача от ревизия преди 1 година
Впишете се за да се присъедините към разговора.
Няма етап
Няма изпълнител
1 участника
Зареждане...
Отказ
Запис
Все още няма съдържание.