# Class OptionGroup

java.lang.Object
org.apache.commons.cli.OptionGroup

All Implemented Interfaces:
  `Serializable`

public class OptionGroup extends Object implements Serializable
A group of mutually exclusive options.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OptionGroup()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `OptionGroup`
  `addOption(Option option)`
  Adds the given `Option` to this group.
  `Collection<String>`
  `getNames()`
  Gets the names of the options in this group as a `Collection`.
  `Collection<Option>`
  `getOptions()`
  Gets the options in this group as a `Collection`.
  `String`
  `getSelected()`
  Gets the selected option name.
  `boolean`
  `isRequired()`
  Tests whether this option group is required.
  `boolean`
  `isSelected()`
  Tests whether an option is selected.
  `void`
  `setRequired(boolean required)`
  Sets whether this group is required.
  `void`
  `setSelected(Option option)`
  Sets the selected option of this group to `name`.
  `String`
  `toString()`
  Returns the stringified version of this OptionGroup.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### OptionGroup

    public OptionGroup()
    Constructs a new instance.

- ## Method Details

  - ### addOption

    public OptionGroup addOption(Option option)
    Adds the given `Option` to this group.
    Parameters:
      `option` - the option to add to this group.
    Returns:
      this option group with the option added.

  - ### getNames

    public Collection<String> getNames()
    Gets the names of the options in this group as a `Collection`.
    Returns:
      the names of the options in this group as a `Collection`.

  - ### getOptions

    public Collection<Option> getOptions()
    Gets the options in this group as a `Collection`.
    Returns:
      the options in this group as a `Collection`.

  - ### getSelected

    public String getSelected()
    Gets the selected option name. If the selected option is deprecated no warning is logged.
    Returns:
      the selected option name.

  - ### isRequired

    public boolean isRequired()
    Tests whether this option group is required.
    Returns:
      whether this option group is required.

  - ### isSelected

    public boolean isSelected()
    Tests whether an option is selected. If an option is selected and is deprecated no warning is logged.
    Returns:
      whether whether an option is selected.
    Since:
      1.9.0

  - ### setRequired

    public void setRequired(boolean required)
    Sets whether this group is required.
    Parameters:
      `required` - whether this group is required.

  - ### setSelected

    public void setSelected(Option option) throws AlreadySelectedException
    Sets the selected option of this group to `name`. If the selected option is deprecated no warning is logged.
    Parameters:
      `option` - the option that is selected.
    Throws:
      `AlreadySelectedException` - if an option from this group has already been selected.

  - ### toString

    public String toString()
    Returns the stringified version of this OptionGroup.
    Overrides:
      `toString` in class `Object`
    Returns:
      the stringified representation of this group.