# Class AbstractChoiceOption

java.lang.Object
org.eclipse.pde.ui.templates.TemplateField
org.eclipse.pde.ui.templates.TemplateOption
org.eclipse.pde.ui.templates.AbstractChoiceOption

Direct Known Subclasses:
  `ComboChoiceOption, RadioChoiceOption`

public abstract class AbstractChoiceOption extends TemplateOption
Abstract implementation of the TemplateOption that allows users to choose a value from the fixed set of options.

Since:
  2.0

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String[][]`
`fChoices`

## Constructor Summary

Constructors
Constructor
Description
`AbstractChoiceOption(BaseOptionTemplateSection section, String name, String label, String[][] choices)`
Constructor for AbstractChoiceOption.

## Method Summary

Modifier and Type
Method
Description
`protected Composite`
`createComposite(Composite parent, int span)`
`protected GridData`
`fill(Control control, int span)`
`String`
`getChoice()`
Returns the string value of the current choice.
`protected boolean`
`isBlocked()`
`protected void`
`selectChoice(String choice)`
`protected abstract void`
`selectOptionChoice(String choice)`
`void`
`setEnabled(boolean enabled)`
Sets the enabled state of this option.
`protected abstract void`
`setOptionEnabled(boolean enabled)`
`protected abstract void`
`setOptionValue(Object value)`
`void`
`setValue(Object value)`
Implements the superclass method by passing the new value to the option's widget.
`protected void`
`setValue(Object value, boolean updateControl)`
Implements the superclass method by passing the new value to the option's widget; updates to the combo can be supressed.

### Methods inherited from class TemplateOption

`getMessageLabel, getName, getValue, isEmpty, isEnabled, isRequired, setName, setRequired`

### Methods inherited from class TemplateField

`createControl, createLabel, getLabel, getSection, setLabel`

### Methods inherited from class Object

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

## Field Details

### fChoices

protected String[][] fChoices

## Constructor Details

### AbstractChoiceOption

public AbstractChoiceOption(BaseOptionTemplateSection section, String name, String label, String[][] choices)
Constructor for AbstractChoiceOption.

Parameters:
  `section` - the parent section.
  `name` - the unique name
  `label` - the presentable label
  `choices` - the list of choices from which the value can be chosen. Each array entry should be an array of size 2, where position 0 will be interpeted as the choice unique name, and position 1 as the choice presentable label.

## Method Details

### getChoice

public String getChoice()
Returns the string value of the current choice.

Returns:
  the current choice or `null` if not initialized.

### setValue

public void setValue(Object value)
Implements the superclass method by passing the new value to the option's widget.

Overrides:
  `setValue` in class `TemplateOption`
Parameters:
  `value` - the new value.

### setValue

protected void setValue(Object value, boolean updateControl)
Implements the superclass method by passing the new value to the option's widget; updates to the combo can be supressed.

Parameters:
  `value` - the new value.
  `updateControl` - true to have the Combo's displayed value updated too, false to indicate that this isn't necessary.
Since:
  3.4

### setOptionValue

protected abstract void setOptionValue(Object value)

### setEnabled

public void setEnabled(boolean enabled)
Description copied from class: `TemplateOption`
Sets the enabled state of this option. The action presentation of the enabled state depends on the implementing option.

Overrides:
  `setEnabled` in class `TemplateOption`
Parameters:
  `enabled` - the new enabled state

### setOptionEnabled

protected abstract void setOptionEnabled(boolean enabled)

### fill

protected GridData fill(Control control, int span)

### createComposite

protected Composite createComposite(Composite parent, int span)

### selectChoice

protected void selectChoice(String choice)

### selectOptionChoice

protected abstract void selectOptionChoice(String choice)

### isBlocked

protected boolean isBlocked()