Coverage Report - org.apache.commons.cli2.WriteableCommandLine
 
Classes in this File Line Coverage Branch Coverage Complexity
WriteableCommandLine
N/A
N/A
1
 
 1  
 /**
 2  
  * Licensed to the Apache Software Foundation (ASF) under one or more
 3  
  * contributor license agreements.  See the NOTICE file distributed with
 4  
  * this work for additional information regarding copyright ownership.
 5  
  * The ASF licenses this file to You under the Apache License, Version 2.0
 6  
  * (the "License"); you may not use this file except in compliance with
 7  
  * the License.  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 org.apache.commons.cli2;
 18  
 
 19  
 import java.util.List;
 20  
 
 21  
 /**
 22  
  * A CommandLine that detected values and options can be written to.
 23  
  */
 24  
 public interface WriteableCommandLine extends CommandLine {
 25  
 
 26  
     /**
 27  
      * Adds an Option to the CommandLine
 28  
      * @param option the Option to add
 29  
      */
 30  
     void addOption(final Option option);
 31  
 
 32  
     /**
 33  
      * Adds a value to an Option in the CommandLine.
 34  
      * @param option the Option to add to
 35  
      * @param value the value to add
 36  
      */
 37  
     void addValue(final Option option, final Object value);
 38  
 
 39  
     /**
 40  
      * Retrieves the Argument values specified on the command line for the
 41  
      * specified Option, this doesn't return any values supplied
 42  
      * programmatically as defaults.
 43  
      *
 44  
      * @param option the Option associated with the values
 45  
      * @return a list of values or an empty List if none are found
 46  
      */
 47  
     List getUndefaultedValues(final Option option);
 48  
 
 49  
     /**
 50  
      * Sets the default values for an Option in the CommandLine
 51  
      * @param option the Option to add to
 52  
      * @param defaultValues the defaults for the option
 53  
      */
 54  
     void setDefaultValues(final Option option, final List defaultValues);
 55  
 
 56  
     /**
 57  
      * Adds a switch value to an Option in the CommandLine.
 58  
      * @param option the Option to add to
 59  
      * @param value the switch value to add
 60  
      * @throws IllegalStateException if the switch has already been added
 61  
      */
 62  
     void addSwitch(final Option option, final boolean value) throws IllegalStateException;
 63  
 
 64  
     /**
 65  
      * Sets the default state for a Switch in the CommandLine.
 66  
      * @param option the Option to add to
 67  
      * @param defaultSwitch the defaults state for ths switch
 68  
      */
 69  
     void setDefaultSwitch(final Option option, final Boolean defaultSwitch);
 70  
 
 71  
     /**
 72  
      * Adds a property value to a name in the CommandLine.
 73  
      * Replaces any existing value for the property.
 74  
      *
 75  
      * @param option the Option to add to
 76  
      * @param property the name of the property
 77  
      * @param value the value of the property
 78  
      */
 79  
     void addProperty(final Option option, final String property, final String value);
 80  
 
 81  
     /**
 82  
      * Adds a property value to the default property set.
 83  
      * Replaces any existing value for the property.
 84  
      *
 85  
      * @param property the name of the property
 86  
      * @param value the value of the property
 87  
      */
 88  
     void addProperty(final String property, final String value);
 89  
 
 90  
     /**
 91  
      * Detects whether the argument looks like an Option trigger
 92  
      * @param argument the argument to test
 93  
      * @return true if the argument looks like an Option trigger
 94  
      */
 95  
     boolean looksLikeOption(final String argument);
 96  
 
 97  
     /**
 98  
      * Returns the option that is currently processed.
 99  
      *
 100  
      * @return the current option
 101  
      */
 102  
     Option getCurrentOption();
 103  
 
 104  
     /**
 105  
      * Sets the current option. This method is called by concrete option
 106  
      * implementations during command line processing. It enables the command
 107  
      * line to keep track about the option that is currently processed.
 108  
      *
 109  
      * @param currentOption the new current option
 110  
      */
 111  
     void setCurrentOption(Option currentOption);
 112  
 }