Class SimpleOptionMap

java.lang.Object
org.checkerframework.framework.test.SimpleOptionMap

public class SimpleOptionMap extends Object
SimpleOptionMap is a very basic command-line option container. The keys of the option container are the command-line flags and the values are the arguments to those options if they exist: e.g.,

 Map(
    "-AprintAllQualifiers" => null
    "-classpath" => "myDir1:myDir2"
 )
 
This class is mainly used by TestConfigurationBuilder to make working with existing options simpler and less error prone. It is not intended for a general option container because users creating tests via source code can more easily manipulate the map whereas a lot of sugar would be needed to make this class usable from the command line.
  • Constructor Details

    • SimpleOptionMap

      public SimpleOptionMap()
  • Method Details

    • setOptions

      public void setOptions(Map<String,@Nullable String> options)
      Clears the current set of options and copies the input options to this map.
      Parameters:
      options - the new options to use for this object
    • addToPathOption

      public void addToPathOption(String key, String toAppend)
      A method to easily add Strings to an option that takes a filepath as an argument.
      Parameters:
      key - an option with an argument of the form "arg1[path-separator]arg2..." e.g., "-cp myDir:myDir2:myDir3"
      toAppend - a string to append onto the path or, if the path is null/empty, the argument to the option indicated by key
    • addOption

      public void addOption(String option)
      Adds an option that takes no argument.
      Parameters:
      option - the no-argument option to add to this object
    • addOption

      public void addOption(String option, String value)
      Adds an option that takes an argument.
      Parameters:
      option - the option to add to this object
      value - the argument to the option
    • addOptionIfValueNonEmpty

      public void addOptionIfValueNonEmpty(String option, @Nullable String value)
      Adds the option only if value is a non-null, non-empty String.
      Parameters:
      option - the option to add to this object
      value - the argument to the option (or null)
    • addOptions

      public void addOptions(Map<String,@Nullable String> options)
      Adds all of the options in the given map to this one.
      Parameters:
      options - the options to add to this object
    • addOptions

      public void addOptions(Iterable<String> newOptions)
    • getOptions

      public Map<String,@Nullable String> getOptions()
      Returns the map that backs this SimpleOptionMap.
      Returns:
      the options in this object
    • getOptionsAsList

      public List<String> getOptionsAsList()
      Creates a "flat" list representation of these options.
      Returns:
      a list of the string representations of the options in this object