2016-07-12 17 views
0

Ich muss auf Plugins XSOM Parser zugreifen, um xSOMParser.setAnnotationParser (...) vom XJC-Plugin vor dem Parsen aufzurufen. Das Problem ist, ich habe Ergebnisse der Analyse, aber nicht Parser selbst. Ich muss ClassOutline.getSchemaComponent(). GetAnnotation() verwenden.XJC Plugin und Zugriff auf XSOM Parser

Ich weiß, dass es Binding-Anpassungen über Plugin getCustomizationURIs() und getCustomizationURIs (...), die appinfo -> benutzerdefinierte Annotation oder externe Bindungsdatei verwenden. Allerdings habe ich viele Probleme mit ihnen (XJC Plugin customizations) und ich möchte nicht sehen, ob ein alternativer Ansatz mit AnnotationParser möglich ist.

Antwort

0

Vom XJC Plugin documentation:

Add-on, die auf dem generierten Quellcode arbeitet. Dieses Add-on wird aufgerufen, nachdem die Standard-Bean-Generierung abgeschlossen ist.

Also meine Vermutung ist, dass die Beeinflussung des Parsers von einem XJC Plugin nicht möglich ist. Ich denke, der richtige Weg zu gehen wäre ein JAXB2 Plugin schreiben.

Vom JAXB2 Seite:

Was kann ein Plugin tun?

Ein JAXB RI-Plugin nimmt an der Codegenerierung aus einem Schema teil. Es kann seine eigenen Anpassungen definieren, die Benutzer verwenden können, um es zu steuern, es kann auf den Code zugreifen, den der JAXB RI generiert, und es kann zusätzliche Klassen/Methoden/Felder/Anmerkungen/Kommentare generieren.

Ein Plugin kann auch wählen, um die XJC-Code-Generation Prozess vollständig übernehmen.