Jump to content

DevTool ArgEngine


idk.cpp
 Share

Recommended Posts

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...

Edited by idk.cpp
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B