Source for net.dpml.cli.Parent

   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.ListIterator;
  20: 
  21: /**
  22:  * An Option that can have an argument and/or group of child Options in the form 
  23:  * "-f <arg> [-a|-b|-c]".
  24:  *
  25:  * @author <a href="@PUBLISHER-URL@">@PUBLISHER-NAME@</a>
  26:  * @version @PROJECT-VERSION@
  27:  */
  28: public interface Parent extends Option
  29: {
  30: 
  31:     /**
  32:      * Processes the parent part of the Option.  The combination of parent,
  33:      * argument and children is handled by the process method.
  34:      * @see Option#process(WriteableCommandLine, ListIterator)
  35:      * 
  36:      * @param commandLine the CommandLine to write results to
  37:      * @param args a ListIterator over argument strings positioned at the next
  38:      *             argument to process
  39:      * @throws OptionException if an error occurs while processing
  40:      */
  41:     void processParent(
  42:       WriteableCommandLine commandLine, ListIterator args )
  43:       throws OptionException;
  44: }