Source for net.dpml.cli.HelpLine

   1: /**
   2:  * Copyright 2003-2004 The Apache Software Foundation
   3:  * Copyright 2005 Stephen McConnell
   4:  *
   5:  * Licensed under the Apache License, Version 2.0 (the "License");
   6:  * you may not use this file except in compliance with the License.
   7:  * You may obtain a copy of the License at
   8:  *
   9:  *     http://www.apache.org/licenses/LICENSE-2.0
  10:  *
  11:  * Unless required by applicable law or agreed to in writing, software
  12:  * distributed under the License is distributed on an "AS IS" BASIS,
  13:  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14:  * See the License for the specific language governing permissions and
  15:  * limitations under the License.
  16:  */
  17: package net.dpml.cli;
  18: 
  19: import java.util.Comparator;
  20: import java.util.Set;
  21: 
  22: /**
  23:  * Represents a line of help for a particular Option.
  24:  *
  25:  * @author <a href="@PUBLISHER-URL@">@PUBLISHER-NAME@</a>
  26:  * @version @PROJECT-VERSION@
  27:  */
  28: public interface HelpLine
  29: {
  30:     /**
  31:      * @return The description of the option
  32:      */
  33:     String getDescription();
  34: 
  35:     /**
  36:      * @return The level of indentation for this line
  37:      */
  38:     int getIndent();
  39: 
  40:     /**
  41:      * @return The Option that the help line relates to
  42:      */
  43:     Option getOption();
  44: 
  45:     /**
  46:      * Builds a usage string for the option using the specified settings and
  47:      * comparator.
  48:      * 
  49:      * @param helpSettings
  50:      *            the settings to apply
  51:      * @param comparator
  52:      *            a comparator to sort options when applicable
  53:      * @return the usage string
  54:      */
  55:     String usage( Set helpSettings, Comparator comparator );