# Class: com.pnfsoftware.jeb.core.OptionDefinition

An implementation for an option description.

## Constructor: OptionDefinition
- parameter: `description`, type: `java.lang.String`

Description: Define a new [option](IOptionDefinition) with a single text to display.
parameter: description: description

## Constructor: OptionDefinition
- parameter: `name`, type: `java.lang.String`
- parameter: `description`, type: `java.lang.String`

Description: Define a new [option](IOptionDefinition).
parameter: name: non\-empty name. If null, will display a single text line \(prefer            [OptionDefinition#OptionDefinition(String)](OptionDefinition#OptionDefinition(String)) in this case\).
parameter: description: optional description

## Constructor: OptionDefinition
- parameter: `name`, type: `java.lang.String`
- parameter: `defaultValue`, type: `java.lang.String`
- parameter: `description`, type: `java.lang.String`

Description: Define a new [option](IOptionDefinition).
parameter: name: mandatory name
parameter: defaultValue: default value
parameter: description: option description

## Method: getDefaultValue
- return type: `java.lang.String`

Description: Get the option default value.
return: default value, or null if none is defined

## Method: getDescription
- return type: `java.lang.String`

Description: Get the option description.
return: option description

## Method: getName
- return type: `java.lang.String`

Description: Get the option name.
return: option name, or null for a description\-only entry

## Method: getOptions
- return type: `java.lang.Object`

Description: Get additional option metadata.
return: null for plain text options

## Method: getType
- return type: `com.pnfsoftware.jeb.core.ITypedOptionDefinition.Type`

Description: Get the option type inferred from the option shape.
return: [Type#Description](Type#Description) if this definition has no name, otherwise [Type#Text](Type#Text)

