Verschachtelte Annotationen

xm22

Mitglied
Hallo,

gibt es die Möglichkeit, "Bedingungs-Annotationen" zu verschachteln? Also so was wie "Wenn Annotation A nicht greift, _dann_ prüfe auf Annotation B"?
 

Kevin94

Top Contributor
Wie soll eine Annotation "nicht greifen"? Eine Annotation ist entweder da oder nicht da, aber sie tut nichts. Höchstenst arbeiten verschiedene Frameworks abhängig von diesen vorhandenen oder nicht vorhandenen Annotationen.

Die einzigen Annotationen, die aktiv etwas Bewirken sind die vom JDK, die das verhalten des Kompilers beeinflussen (SupressWarnings,Override,SafeVarargs)
 

xm22

Mitglied
Z. B. ein Attribut einer Klasse kann null sein _oder_ muss eine andere Annotation erfüllen. Bsp.: Das Updaten einer Entity:
Es gibt ein Attribut vom Typ UUID (Dafür habe ich eine Annotation). Nun soll dieses Attribut null oder eine UUID sein können. Quasi so was wie @NULL OR @ValidUUID
 

Kevin94

Top Contributor
Dann macht (in Java 7) die Annotation aber immer nocht nichts. In Java 8 sollen solche Annotationen wie @NotNull oder @Nullable enthalten sein, aber im Moment, braucht es afaik ein Framework, das die Einhaltung der Annotationen überwacht, damit diese Annotation was bewirkt.
 

xm22

Mitglied
Die Annotation selber soll ja auch nichts machen. Die Frage war einzi und allein, ob es in Java eine Syntax gibt, mit der anhand von Fallunterscheidungen selektiv Annotationen beachtet werden.
 

xm22

Mitglied
Ich denke nicht. Ich spreche von Annotationen, die zum Validieren verwendet werden, z. B. @NotNull, @NotEmpty, etc. Diese verweisen ja letzten Endes auf einen Validator, der true oder false zurück gibt. Ich habe jetzt eine eigene Annotation + Validator implementiert, der prüft, ob der annotierte Wert (String) eine valide UUID ist. Das soll er aber natürlich nur machen, wenn der Wert auch gesetzt wurde, da er optional ist.

Diese Unterscheidung könnte ich natürlich auch in meinen Validator einbauen, aber der soll so generisch wie möglich sein. Aber mir ist gerade eingefallen, dass ich die Annotation mit einem boolschen nullable-Parameter versehen könnte..
 
N

nillehammer

Gast
Schau Dir mal den Quellcode der Validatoren für die Standardannotationen (z.B. @Size, @Pattern...) an. Die müssen auch damit umgehen, dass sie einen eventuell optionalen Wert validieren müssen. Die lösen es mit einer Zeile am Anfang validate-Methode:
Java:
if(valueToValidate == null) return true;
// heißt natürlich nicht immer valueToValidate
Erst danach kommt der eigentliche Validierungscode. So würde ich es auch machen.

Und zu Deinem speziellen Fall einer UUID-Validierung: Da würde ich keinen eigenen Validator für schreiben, sondern @Pattern benutzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Verschachtelte for-Schleife Java Basics - Anfänger-Themen 2
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
Düsseldorf2002 Datentypen Verschachtelte LinkedList Java Basics - Anfänger-Themen 5
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
S Verschachtelte Schleife Java Basics - Anfänger-Themen 3
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
Z Verschachtelte If-Bedingung Java Basics - Anfänger-Themen 6
Y Verschachtelte For-Schleife Java Basics - Anfänger-Themen 5
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
M Verschachtelte Forschleifen Java Basics - Anfänger-Themen 2
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
TheMenox Verschachtelte If Bedingung Java Basics - Anfänger-Themen 4
R Verschachtelte Arraylist und deren Größe auslesen Java Basics - Anfänger-Themen 7
C Verschachtelte Map auslesen Java Basics - Anfänger-Themen 4
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
G Collections verschachtelte ArrayList abfüllen Java Basics - Anfänger-Themen 5
X verschachtelte suche Java Basics - Anfänger-Themen 8
S Verschachtelte Exceptions - Übersicht verbessern Java Basics - Anfänger-Themen 2
D Verschachtelte Objekterzeugung Java Basics - Anfänger-Themen 6
S verschachtelte for-Schleife Java Basics - Anfänger-Themen 6
J verschachtelte Schleife Java Basics - Anfänger-Themen 10
P Verschachtelte Schleife vorzeitig abbrechen. Java Basics - Anfänger-Themen 50
S verschachtelte for Schleife und Ergebniss. Java Basics - Anfänger-Themen 3
J verschachtelte for-schleifen Java Basics - Anfänger-Themen 2
S Verschachtelte Klassen Java Basics - Anfänger-Themen 12
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C Verschachtelte for-schleifen Java Basics - Anfänger-Themen 10
C Verschachtelte For-Schleifen Java Basics - Anfänger-Themen 5
3 Verschachtelte Zuweisung Java Basics - Anfänger-Themen 4
M Tief verschachtelte Packages Java Basics - Anfänger-Themen 7
T add-Methode für verschachtelte ArrayLists Java Basics - Anfänger-Themen 10
C Verschachtelte For-Schleife Java Basics - Anfänger-Themen 6
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
T Datentypen Verschachtelte Map durchlaufen Java Basics - Anfänger-Themen 4
P Verschachtelte For-Schleifen Java Basics - Anfänger-Themen 4
F Verschachtelte Arrays kopieren und überschreiben Java Basics - Anfänger-Themen 4
J Verschachtelte for schleife mit dynamischer Anzahl an Schleifen Java Basics - Anfänger-Themen 10
M Verschachtelte Strukturen. Java Basics - Anfänger-Themen 7
J Verschachtelte for-Schleife mit Löschen von Iterationen. Wie über Iterator abbilden? Java Basics - Anfänger-Themen 6
M Viele verschachtelte Schleifen Java Basics - Anfänger-Themen 14
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
W verschachtelte while schleife Java Basics - Anfänger-Themen 8
G Verschachtelte Case Fallunterscheidung Java Basics - Anfänger-Themen 7
W verschachtelte For-Schleife - continue Java Basics - Anfänger-Themen 8
R Verschachtelte Schleife? Java Basics - Anfänger-Themen 6
M sehr weit verschachtelte XML-datei mit jdom auslesen Java Basics - Anfänger-Themen 4
S verschachtelte while Schleifen Java Basics - Anfänger-Themen 5
R Bedingte Opeatoren / Verschachtelte Operatoren Java Basics - Anfänger-Themen 4
L Annotationen von privaten Methoden? Java Basics - Anfänger-Themen 2
C Dynamic Proxy und Annotationen Java Basics - Anfänger-Themen 20
B Für was sind die Annotationen gut? Java Basics - Anfänger-Themen 6
T Was sind Annotationen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben