Still, the original poster had a point - isMandatory would typically 
return a boolean, whereas setMandatory would be used for setting the 
option.  In my code, using CLI 1.0, I've been using isRequired(true) to 
specify a required option.  The true is not necessary, but makes the point 
that I'm setting something, as opposed to getting the value.  I think 
requiring that usage might make things a bit clearer, perhaps deprecating 
the old methodology.  As for the mandatory vs. required battle, I have no 
preference - they both state what they do in clear language.

Regards,
Michael Lanzetta
858-799-5307






John Keyes <[EMAIL PROTECTED]>
03/04/2003 10:28 AM
Please respond to "Jakarta Commons Developers List"

 
        To:     Jakarta Commons Developers List <[EMAIL PROTECTED]>
        cc: 
        Subject:        Re: [CLI] Version 2.0 - API


> > > OptionBuilder.isMandatory() returns an OptionBuilder.  Normally "is" 

> >methods
> > > return a boolean.  The factory methods in this class (and 
> >ArgumentBuilder)
> > > should probably all start with "create" for clarity (ie. 
> >createWithChild()).
> >Yeah I know what you're saying.  What would you name the required 
method
> >though?
> 
> I'm not sure what the OptionBuilder returned from 
> OptionBuilder.isMandatory() is supposed to represent/do.  Maybe 
> createRequired() would work?

The builders are to help the building of complex objects 
in a verbose manner thus eliminating the confusion that
arises due to methods with many parameters of similar type.

So if I wanted to create an option 'a' that is required:
  OptionBuilder builder = new OptionBuilder();
  Option a = builder.isRequired().create("a");

If you wanted to say that Option 'a' also has child
options:

  Option a = builder.isRequired()
                    .withChildren(childOptions)
                    .create("a");
Does that explain the process?

-John K



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to