# 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