org.limitless.util
Class KnownCommandLineArgumentsDetailsBuilder

java.lang.Object
  extended by org.limitless.util.KnownCommandLineArgumentsDetailsBuilder
All Implemented Interfaces:
CommandLineArgumentParser.DetailsBuilder

public class KnownCommandLineArgumentsDetailsBuilder
extends java.lang.Object
implements CommandLineArgumentParser.DetailsBuilder

This class provides a builder that throws an exception if the option or flag is unknown. Furthermore, it mandates a minimum number of arguments as well. This is using a "Chain of Responsibility" pattern so we take the object that we want to pass the messages to. We get "first crack" at the messages passed.

Author:
Brian Jones

Field Summary
private  java.util.Set knownFlagNames
           
private  java.util.Set knownOptionNames
           
private  int minimumArgumentsRequired
           
private  CommandLineArgumentParser.DetailsBuilder next
           
 
Constructor Summary
KnownCommandLineArgumentsDetailsBuilder(java.util.Set knownFlagNames, java.util.Set knownOptionNames, int minimumArgumentsRequired, CommandLineArgumentParser.DetailsBuilder next)
          Create by passing the known values and the object this will delegate to.
 
Method Summary
 void addArgument(java.lang.String a)
           
 void addFlag(java.lang.String f)
           
 void addOption(java.lang.String o, java.lang.String v)
           
 CommandLineArgumentParser.Details getDetails()
          After a call to getDetails(), the builder should forget everything so it can be re-used!!!!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

knownFlagNames

private java.util.Set knownFlagNames

knownOptionNames

private java.util.Set knownOptionNames

minimumArgumentsRequired

private int minimumArgumentsRequired

next

private final CommandLineArgumentParser.DetailsBuilder next
Constructor Detail

KnownCommandLineArgumentsDetailsBuilder

public KnownCommandLineArgumentsDetailsBuilder(java.util.Set knownFlagNames,
                                               java.util.Set knownOptionNames,
                                               int minimumArgumentsRequired,
                                               CommandLineArgumentParser.DetailsBuilder next)
Create by passing the known values and the object this will delegate to.

Parameters:
knownFlagNames - Set of strings
knownOptionNames - Set of strings
minimumArgumentsRequired - minimum count needed
next -
Method Detail

addFlag

public void addFlag(java.lang.String f)
             throws CommandLineArgumentParser.ParseException
Specified by:
addFlag in interface CommandLineArgumentParser.DetailsBuilder
Throws:
CommandLineArgumentParser.ParseException

addOption

public void addOption(java.lang.String o,
                      java.lang.String v)
               throws CommandLineArgumentParser.ParseException
Specified by:
addOption in interface CommandLineArgumentParser.DetailsBuilder
Throws:
CommandLineArgumentParser.ParseException

getDetails

public CommandLineArgumentParser.Details getDetails()
                                             throws CommandLineArgumentParser.ParseException
Description copied from interface: CommandLineArgumentParser.DetailsBuilder
After a call to getDetails(), the builder should forget everything so it can be re-used!!!!

Specified by:
getDetails in interface CommandLineArgumentParser.DetailsBuilder
Returns:
A new details object.
Throws:
CommandLineArgumentParser.ParseException

addArgument

public void addArgument(java.lang.String a)
                 throws CommandLineArgumentParser.ParseException
Specified by:
addArgument in interface CommandLineArgumentParser.DetailsBuilder
Throws:
CommandLineArgumentParser.ParseException


Copyright © 1995, 2004 Limitless Knowledge Association, All Rights Reserved.