Overview
JAVA-AX | Overview
Im Abschnitt JAVA-AX befassen wir uns mit der Übersichtung, Dokumentation
und examplischen Nutzung einer Reihe von Java Klassen, darunter
den ArgumentInterpreter mit dessen Hilfe
die Auswertung von Parametern auf der Kommandozeile auch mit
komplexeren Parametern und Hilfsfunktion ausgewertet werden können.
Die Klassen und zugehörigen Packages dieses Abschnitts dienen im Schwerpunkt dazu, Einsteigern eine gewisse Mindestfunktionalität für zu ermöglichen, ohne im selbst lernen oder verstehen zu müssen, wie man diese Funktionalität programmiert.
Overview
JAVA-AX | External Classes
Externe Klassen stammen mitunter aus unserem eigenen Fundus und sind in erster Linie Hilfsklassen für den Zeitpunkt, wo man mal schnell ein Problem lösen möchte, ohne sich die komplette Funktionalität wieder einmal neu von Hand bauen zu müssen.
Diese Klassen sind nicht für den Produktiv-Einsatz getestet, erfüllen aber im Mindestumfang Ihren Zweck.
Overview
JAVA-AX | ArgumentInterpreter
Die ArgumentInterpreter-Klasse ermöglicht es, Kommandozeilen-Parameter
in Langfassung wie --port 80 oder
Kurzfassung -port 80 mit einer
Hilfe konfigurieren und über den intern Parser dann
die bei Aufruf von main(String[]args)
übergebenen Argumente in args
auswerten zu können.
Die Klasse erzeugt bei Eingabefehlern entsprechende
Ausnahmen und bietet über --help
und -h die Option,
eine Hilfe für alle Kommandos anzeigen zu lassen.
Die ArgumentInterpreter-Klasse vermag zwischen
Commands und Subcommands zu differenzieren, dh.
java MeinProg take --what Apfel
hätte quasi das Kommando take
und das Subcommand what mit dessen
Wert Apfel.
Im Falle von Werten in Anführungstrichen wie
--name "Herbert Meier"
vermag der Interpreter doppelte Anführungsstriche
zu erkennen, damit Vor- und Nachname im Beispiel
nicht in zwei Werte für den Parameter getrennt werden.
Auch sind mit --coord 12.5 14.9
Parameter möglich, welche über zwei Werte verfügen.
com.stuelken.commons.utility.cli.ArgumentInterpreter
Documentation Classes
JAVA-AX | Documentation Classes
Für die Dokumentation wurden mitunter das Programm
DocReflector geschaffen, welches im kompilierten Programmcode
nach mitunter den Annotationen @DocDemo und
@DocCategory sucht und
die zugehören Klassen auflisten kann.
Beispiel: In Anlehnung an ein Schlagwort-Verzeichnis oder auch hierarchische Strukturen in der Taxonometrie von Blogs wie beispielweise bei WordPress ist es damit möglich, auch den Programmcode einer Java-Anwendung mit Kategorien oder «Tags» zu ergänzen.
@DocDemo erfordert eine Angabe des content-Parameters. @DocCategory erwartet nur einen String mit einer Verzeichnis-artigen Stichwort-Struktur.
@DocDemo(content="Hier folgt eine Erklärung.")
@DocCategory("Example/Annotation/Repeatable/ExampleTagAnnotation")
Es handelt sich um @Repeatable Annotations.
@ExampleTagAnnotation // 1. Annotation ohne Wert
@ExampleTagAnnotation(content = "Lebewesen/Tier/Fisch") // 2. Annotation mit einem Pfad
@ExampleTagAnnotation(content = "Lebewesen/Tier") // 3. Annotation mit Pfad
@ExampleTagAnnotation(content = "Lebewesen") // 4. Annotation mit Pfad
FootNotes, Keywords, Tags
Hinweise, Rechte, Marken
UIO3 Es ist einfacher als Du denkst.
Stelle noch heute Deine Anfrage.

