# Interface Option

All Known Implementing Classes:
  `FlagOption`, `StringOption`

public interface Option

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `combine(Object[] values)`
  Combines multiple values of an option into a single value.
  `PropertyId<?>`
  `getPropertyId()`
  `Object`
  `valueOf(String arg)`

- ## Method Details

  - ### getPropertyId

    PropertyId<?> getPropertyId()

  - ### valueOf

    Object valueOf(String arg) throws OptionArgumentException
    Throws:
      `OptionArgumentException`

  - ### combine

    Object combine(Object[] values)
    Combines multiple values of an option into a single value. A property whose value is logically a sequence may be represented by multiple options each representing a single member of the sequence.
    Parameters:
      `values` - an array of values to be combined
    Returns:
      an Object representing the combination, or `null` if they cannot be combined