Hallo,
zu meinem Problem: Ich benutze eine API. Es existieren dort mehrere Konstruktor in einer Klasse. Mein Problem jedoch ist, dass ein Konstruktor eben die Annotation @NotNull hat, d.h. ich kann in der Regel diese weglassen (zumindest in der API), das funktioniert auch (ohne Reflection).
So sieht es aus:
http://prntscr.com/bjk6uj
Das Problem an der Sache ist, wenn ich eine neue Instanz ohne Reflections erstelle, dann kann ich den 2. Parameter weglassen. Das ist ja an sich kein Problem.
Aber dasselbe funktioniert leider nicht mit Reflections. Ich habe probiert, den zweiten Parameter "null" zu setzen, jedoch hat dies nicht wirklich etwas gebracht.
An sich verstehe ich die Logik von NotNull überhaupt gar nicht.
Ich habe eine kleine "API" geschrieben:
Dieser Code ist in einer externen Jar und ich verwende es als API. Ich möchte es eben testen. Das Problem jedoch ist, ich habe 2x @NotNull Imports zur Verfügung. Ich habe beim ersten Mal von com.sun.istack.internal.NotNull, beim zweiten Mal com.avaje.ebean.validation.NotNull-
Der 2. Import funktioniert leider nicht, wie ich es will. Der erste Import funktioniert, aber dann habe ich eben folgendes Problem:
http://prntscr.com/bjk9j2
Wie Sie sehen, wurde irgendwie alles vertauscht ("komisch verändert worden"), obwohl ich nur beim zweiten Parameter @NotNull gesetzt habe.
Ich habe versucht, die eigentliche API zu decompilen, habe jedoch keine Annotations gefunden. (IntelliJ Decompiler + JD Gui getestet)
Kann mir einer bitte helfen? Warum ist es vertauscht? Warum funktioniert dort keine Reflection mit einem Parameter (die eigentliche API)?
Danke im Voraus,
LG
zu meinem Problem: Ich benutze eine API. Es existieren dort mehrere Konstruktor in einer Klasse. Mein Problem jedoch ist, dass ein Konstruktor eben die Annotation @NotNull hat, d.h. ich kann in der Regel diese weglassen (zumindest in der API), das funktioniert auch (ohne Reflection).
So sieht es aus:
http://prntscr.com/bjk6uj
Das Problem an der Sache ist, wenn ich eine neue Instanz ohne Reflections erstelle, dann kann ich den 2. Parameter weglassen. Das ist ja an sich kein Problem.
Aber dasselbe funktioniert leider nicht mit Reflections. Ich habe probiert, den zweiten Parameter "null" zu setzen, jedoch hat dies nicht wirklich etwas gebracht.
An sich verstehe ich die Logik von NotNull überhaupt gar nicht.
Ich habe eine kleine "API" geschrieben:
Code:
public class ReflectionUtil {
public ReflectionUtil( String name, @NotNull String s ) {
}
public static class Reflect {
}
}
Der 2. Import funktioniert leider nicht, wie ich es will. Der erste Import funktioniert, aber dann habe ich eben folgendes Problem:
http://prntscr.com/bjk9j2
Wie Sie sehen, wurde irgendwie alles vertauscht ("komisch verändert worden"), obwohl ich nur beim zweiten Parameter @NotNull gesetzt habe.
Ich habe versucht, die eigentliche API zu decompilen, habe jedoch keine Annotations gefunden. (IntelliJ Decompiler + JD Gui getestet)
Kann mir einer bitte helfen? Warum ist es vertauscht? Warum funktioniert dort keine Reflection mit einem Parameter (die eigentliche API)?
Danke im Voraus,
LG