Command Line Argument Interpreter für komplexe Strukturen

  • Themenstarter Themenstarter karpaa
  • Beginndatum Beginndatum
K

karpaa

Gast
Hallo zusammen,

ich bin derzeit auf der Suche nach einem Interpreter für Command Line Arguments. Es gibt zwar etliche dafür (args4j, commons-cli usw.), aber bis jetzt habe ich noch nichts gefunden, was meinen Anforderungen entsprechen würde. Vielleicht weiß jemand von euch Rat.

Folgendes Szenario:

Ich habe etliche Argumente, die von einander abhängigen sind und "beliebig" tief verschachtelt werden können. Ein kleines Beispiel dazu:

Es gibt eine Liste von frei definierbaren Key-Value Paaren, die über das CLI abgerufen werden können. Dazu gibt es einige Key-Value-Paare, die über "Shortcuts" abgerufen werden könne.

Normales Key-Value-Pair:
Code:
app read property machine key

"app" ist die Applikation
"read" ist das erste Argument, welches beschriebt, dass etwas gelesen soll (es gibt noch update, delete usw.)
"property" sagt, dass eine Property gelesen werden soll
"machine" ist die Maschine, für die die Properties hinterlegt sind
"key" ist der Key des Key-Value-Pairs

Shortcut:
Code:
app read url machine
"app" ist die Applikation
"read" ist das erste Argument, welches beschriebt, dass etwas gelesen soll (es gibt noch update, delete usw.)
"url" ist ein Shortcut für das Key-Value-Pair mit dem Key "url"
"machine" ist die Maschine, für die die Properties hinterlegt sind

Das Problem, was ich nun habe ist, dass jenachdem ob nach "read" "property" oder ein Shortcut folgt, die Anzahl der Argument variiert. Dies konnte ich bisher nicht mit einem Parser abbilden.
 
was ist jetzt die Java-Frage? schreibst du ein Java-Programm welches diese Argumente verarbeitet?
das kann doch auf zig verschiedene Weisen geschehen,
überlege dir wie du als menschliche Maschine das verarbeiten würdest und setze das Schritt für Schritt um,

wenn es mehrdeutige Situation gibt, dann kann Java das auch nicht besser als ein Mensch,
wenn manche Argumente wie 'read' zwingend die an sich variable Anzahl der Parameter festlegen, dann definiere entsprechende Regeln, so dass wenn 'read' erkannt wird auch x Argumente gelesen werden, usw.
 
Die "Java Frage" war die nach einem entsprechenden Framework.
Dass es möglich ist, das zu Coden stelle ich ja nicht in Frage, ich möchte nur lediglich nichts implementieren, was ich so oder ähnlich "frei Haus" bekommen kann.
 
Danke für den Link EikeB. Leider kannte ich ihn schon.
Wie im Anfangspost geschrieben, habe ich mir einige dieser Inteperter schon angeschaut. Sie bieten leider nicht die Möglichkeiten, die ich benötige.
Anscheinend muss ich das wohl doch selbst implementieren.
 

Neue Themen


Zurück
Oben