Jump to content

DevTool ArgEngine


idk.cpp

Empfohlene Beiträge

Hallo Devs,

manchmal programmiert man ein Plugin, welches über Konsolen-Kommandos gesteuert wird.

Wenn man so etwas macht muss man die Argumente und Parameter selbst auswerten, was bei großen Projekten recht ungut wird.

Darum habe ich jetzt ArgEngine entwickelt. Es ist ein vergleichbar mit GetOpt (für die, die es kennen), funktioniert aber anders.

Wenn mann zB den folgenden String auswerten will:

/plgcmd +strict --plugin-name "Some other Plugin" --cmd restart

kann man mit diesem Tool folgendes machen:


OptionsSheet mySheet = new OptionsSheet();  // Dieses Object hält die Config

mySheet.exceptionOnUnknown = false;  // Setzen der Parameter für undefinierte Argumente

OptionsSheetEntry newEntry = mySheet.new OptionsSheetEntry();  // Ein neues Argument definieren

newEntry.name = "block";  // Der Name des Arguments

newEntry.type = OptionType.KEY_VALUE_PAIR;  // Der Typ

newEntry.required = true;  // Muss dieses Argument angegeben werden

testSheet.addEntry(newEntry);  // Der Config diese Teil-Config hinzufügen


String cmdLine = "+strict --plugin-name \"Some other Plugin\" --cmd restart";

try {

    Options result = ArgEngine.process(cmdLine, mySheet);   // Das Setup und die Cmd-Line übergeben

    result.getString("plugin-name");   // Die Werte auslesen

} catch (RequirementUnsatisfiedException | TooManyArgumentsException exc) {

    // Eigene Fehlerbehandlung

}

Für genaueres besuche http://dev.bukkit.org/bukkit-plugins/argengine/

Ich hoffe es kann jmd brauchen.

LG,

idk.cpp

// EDIT

es tut mir jetzt schon Leid, dass dieser Beitrag so shitty ist...

bearbeitet von idk.cpp
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B