Format options into StringBuffer and return. This is typically used to
print "Usage" text in response to a "--help" or invalid option.
final StringBuffer sb = new StringBuffer();
for( int i = 0; i < options.length; i++ )
{
final char ch = (char) options[i].getId();
final String name = options[i].getName();
String description = options[i].getDescription();
int flags = options[i].getFlags();
boolean argumentRequired =
( (flags & CLOptionDescriptor.ARGUMENT_REQUIRED) ==
CLOptionDescriptor.ARGUMENT_REQUIRED);
boolean twoArgumentsRequired =
( (flags & CLOptionDescriptor.ARGUMENTS_REQUIRED_2) ==
CLOptionDescriptor.ARGUMENTS_REQUIRED_2);
boolean needComma = false;
if (twoArgumentsRequired)
argumentRequired = true;
sb.append('\t");
if( Character.isLetter(ch) )
{
sb.append( "-" );
sb.append( ch );
needComma = true;
}
if( null != name )
{
if( needComma )
{
sb.append( ", " );
}
sb.append( "--" );
sb.append( name );
if (argumentRequired)
{
sb.append(" <argument>");
}
if (twoArgumentsRequired)
{
sb.append("=<value>");
}
sb.append( JavaUtils.LS );
}
if( null != description )
{
while( description.length() > MAX_DESCRIPTION_COLUMN_LENGTH )
{
final String descriptionPart =
description.substring( 0, MAX_DESCRIPTION_COLUMN_LENGTH );
description =
description.substring( MAX_DESCRIPTION_COLUMN_LENGTH );
sb.append( "\t\t" );
sb.append( descriptionPart );
sb.append( JavaUtils.LS );
}
sb.append( "\t\t" );
sb.append( description );
sb.append( JavaUtils.LS );
}
}
return sb;