## Uses of Interface
org.crosswire.common.config.Choice

- Packages that use Choice
  Package | Description
  --- | ---
  org.crosswire.common.config | Config allows an application to separate the responsibilities of setting itself up, and providing a user interface from the real work that it needs to do.

- - ### Uses of Choice in org.crosswire.common.config

    Subinterfaces of Choice in org.crosswire.common.config
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `MappedChoice<K,V>` MappedChoice is simply a Choice where there are a number of alternative options where each entry is a Map.Entry.
    `interface` | `MultipleChoice` MultipleChoice is simply a Choice where there are a number of alternative options.

    Classes in org.crosswire.common.config that implement Choice
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractReflectedChoice` A helper for when we need to be a choice created dynamically.
    `class` | `BooleanChoice` A class to convert between strings and objects of a type.
    `class` | `ClassChoice` A class to convert between strings and objects of a type.
    `class` | `DirectoryChoice` A class to convert between strings and objects of a type.
    `class` | `FileChoice` A class to convert between files and objects of a type.
    `class` | `FontChoice` A class to convert between strings and objects of a type.
    `class` | `IntOptionsChoice` A class to convert between strings and objects of a type.
    `class` | `MappedOptionsChoice` A class to convert between strings and objects of a type.
    `class` | `NumberChoice` A class to convert between strings and objects of a type.
    `class` | `PathChoice` A class to convert between strings and objects of a type.
    `class` | `StringArrayChoice` A class to convert between strings and objects of a type.
    `class` | `StringChoice` A type of Choice that converts between strings and objects.
    `class` | `StringOptionsChoice` A class to convert between strings and objects of a type.

    Fields in org.crosswire.common.config declared as Choice
    Modifier and Type | Field and Description
    --- | ---
    `private Choice` | ConfigEvent.`model` The Choice

    Fields in org.crosswire.common.config with type parameters of type Choice
    Modifier and Type | Field and Description
    --- | ---
    `private static Map<String,Class<Choice>>` | ChoiceFactory.`map` Store of the known ChoiceTypes
    `protected List<Choice>` | Config.`models` The array that stores the models

    Methods in org.crosswire.common.config that return Choice
    Modifier and Type | Method and Description
    --- | ---
    `Choice` | ConfigEvent.`getChoice()` Returns the choice.
    `static Choice` | ChoiceFactory.`getChoice(org.jdom2.Element option, ResourceBundle configResources)` Get a ChoiceFactory by element.
    `Choice` | Config.`getChoice(String key)` Get the Choice for a given key
    `Choice` | ConfigEvent.`getPath()` Returns the choice.

    Methods in org.crosswire.common.config that return types with arguments of type Choice
    Modifier and Type | Method and Description
    --- | ---
    `Iterator<Choice>` | Config.`iterator()` The set of Choice that we are controlling

    Methods in org.crosswire.common.config with parameters of type Choice
    Modifier and Type | Method and Description
    --- | ---
    `void` | Config.`add(Choice model)` Add a key/model pairing
    `protected void` | Config.`fireChoiceAdded(String key, Choice model)` A Choice got added.
    `protected void` | Config.`fireChoiceRemoved(String key, Choice model)` A Choice got removed.

    Constructors in org.crosswire.common.config with parameters of type Choice
    Constructor and Description
    `ConfigEvent(Object source, String key, Choice model)` Constructs an ConfigEvent object.