Modificarea comportamentului în construcţia claselor proxy dinamice

În Java 8, java.lang.reflect.Proxy(InvocationHandler) constructor aruncă un NullPointerException if the InvocationHandler parameter is null. În versiunile anterioare de Java, constructorul a returnat un obiect proxy dar a generat o NullPointerException când aţi folosit proxy-ul.

Java 8 a introdus o modificare similară de comportament pentru Constructor.newInstance(InvocationHandler). În Java 8, când InvocationHandler este null, metoda newInstance aruncă o InvocationTargetException în loc de a returna un obiect proxy inutilizabil.

Această regulă semnalează apelurile la constructorii java.lang.reflect.Proxy(InvocationHandler) şi Constructor.newInstance(InvocationHandler). Examinaţi codul semnalat şi fie asiguraţi-vă că handler-ul nu este niciodată null, fie modificaţi codul pentru a folosi metoda factory newProxyInstance, care aruncă o NullPointerException şi în Java 7 şi în Java 8.

Pentru informaţii suplimentare despre clasa java.lang.reflect.Proxy(InvocationHandler), vedeţi documentaţia Java Class java.lang.reflect.Proxy.