[Japi-cvs] SF.net SVN: japi: [225] libs/argparser/trunk/src/net/sf/japi/io/args
Status: Beta
Brought to you by:
christianhujer
|
From: <chr...@us...> - 2006-11-26 22:45:15
|
Revision: 225
http://svn.sourceforge.net/japi/?rev=225&view=rev
Author: christianhujer
Date: 2006-11-26 14:45:14 -0800 (Sun, 26 Nov 2006)
Log Message:
-----------
Improvements on option type description and --help output.
Modified Paths:
--------------
libs/argparser/trunk/src/net/sf/japi/io/args/BasicCommand.java
libs/argparser/trunk/src/net/sf/japi/io/args/OptionType.java
libs/argparser/trunk/src/net/sf/japi/io/args/messages.properties
libs/argparser/trunk/src/net/sf/japi/io/args/messages_de.properties
Modified: libs/argparser/trunk/src/net/sf/japi/io/args/BasicCommand.java
===================================================================
--- libs/argparser/trunk/src/net/sf/japi/io/args/BasicCommand.java 2006-11-26 22:44:34 UTC (rev 224)
+++ libs/argparser/trunk/src/net/sf/japi/io/args/BasicCommand.java 2006-11-26 22:45:14 UTC (rev 225)
@@ -75,7 +75,7 @@
parameterTypes.add(parameterType);
}
}
- final String formatString = "%-" + maxShort + "s%s%-" + maxLong + "s: (%-" + maxOptionTypeWidth + "s) %s%n";
+ final String formatString = "%-" + maxShort + "s%s%-" + maxLong + "s: %s%s%n";
final Formatter format = new Formatter(System.err);
for (final Method optionMethod : optionMethods) {
final Option option = optionMethod.getAnnotation(Option.class);
@@ -98,7 +98,7 @@
} catch (final MissingResourceException ignore) {
description = "";
}
- format.format(formatString, StringJoiner.join(", ", shortNames), delim, StringJoiner.join(", ", longNames), optionType.toString(), description);
+ format.format(formatString, StringJoiner.join(", ", shortNames), delim, StringJoiner.join(", ", longNames), description, optionType.getDescription());
}
format.flush();
}
Modified: libs/argparser/trunk/src/net/sf/japi/io/args/OptionType.java
===================================================================
--- libs/argparser/trunk/src/net/sf/japi/io/args/OptionType.java 2006-11-26 22:44:34 UTC (rev 224)
+++ libs/argparser/trunk/src/net/sf/japi/io/args/OptionType.java 2006-11-26 22:45:14 UTC (rev 225)
@@ -30,13 +30,24 @@
*/
public enum OptionType {
- /** Required options must always be specified prior to command execution. */
+ /**
+ * Required options must always be specified prior to command execution.
+ * Please use required options sparingly - if possible none at all.
+ * Instead provide your program with reasonable defaults.
+ */
REQUIRED,
- /** Optional options may be omitted. */
+ /**
+ * Optional options may be omitted.
+ * This is the default and usually doesn't need to be changed.
+ */
OPTIONAL,
- /** Terminal options terminate argument parsing, no matter what happens. */
+ /**
+ * Terminal options terminate argument parsing, no matter what happens.
+ * This is only for special options like --help.
+ * Normally there should be no need for you to declare your own terminal options.
+ */
TERMINAL;
/**
@@ -76,4 +87,18 @@
return getName();
}
+ /**
+ * Returns the command line description of this option type.
+ * @return The command line description of this option type.
+ */
+ public String getDescription() {
+ String description;
+ try {
+ description = ResourceBundle.getBundle("net.sf.japi.io.args.messages").getString(getClass().getName() + "." + name() + ".description");
+ } catch (final MissingResourceException e) {
+ description = name();
+ }
+ return description.length() == 0 ? description : " (" + description + ")";
+ }
+
} // OptionType
Modified: libs/argparser/trunk/src/net/sf/japi/io/args/messages.properties
===================================================================
--- libs/argparser/trunk/src/net/sf/japi/io/args/messages.properties 2006-11-26 22:44:34 UTC (rev 224)
+++ libs/argparser/trunk/src/net/sf/japi/io/args/messages.properties 2006-11-26 22:45:14 UTC (rev 225)
@@ -1,6 +1,9 @@
net.sf.japi.io.args.OptionType.REQUIRED=required
+net.sf.japi.io.args.OptionType.REQUIRED.description=required
net.sf.japi.io.args.OptionType.OPTIONAL=optional
+net.sf.japi.io.args.OptionType.OPTIONAL.description=
net.sf.japi.io.args.OptionType.TERMINAL=terminal
+net.sf.japi.io.args.OptionType.TERMINAL.description=terminal
help=Display this help and exit.
setExiting=Quit Java VM with error code.
setNotExiting=Don't quit Java VM (default).
Modified: libs/argparser/trunk/src/net/sf/japi/io/args/messages_de.properties
===================================================================
--- libs/argparser/trunk/src/net/sf/japi/io/args/messages_de.properties 2006-11-26 22:44:34 UTC (rev 224)
+++ libs/argparser/trunk/src/net/sf/japi/io/args/messages_de.properties 2006-11-26 22:45:14 UTC (rev 225)
@@ -1,6 +1,9 @@
net.sf.japi.io.args.OptionType.REQUIRED=erforderlich
+net.sf.japi.io.args.OptionType.REQUIRED.description=erforderlich
net.sf.japi.io.args.OptionType.OPTIONAL=optional
+net.sf.japi.io.args.OptionType.OPTIONAL.description=
net.sf.japi.io.args.OptionType.TERMINAL=abbrechend
+net.sf.japi.io.args.OptionType.TERMINAL.description=abbrechend
help=Diese Hilfe anzeigen und beenden.
setExiting=Java VM mit Fehlercode beenden
setNotExiting=Java VM nicht beenden (Voreinstellung).
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|