# Interface ParameterDescriptorGroup

All Superinterfaces:
  `GeneralParameterDescriptor, IdentifiedObject`

All Known Implementing Classes:
  `DefaultParameterDescriptorGroup`

@UML(identifier="CC_OperationParameterGroup", specification=ISO_19111) public interface ParameterDescriptorGroup extends GeneralParameterDescriptor
The definition of a group of related parameters used by an operation method.

Since:
  2.0
See Also:
  - `ParameterValueGroup`
  - `ParameterDescriptor`

- ## Field Summary

  ### Fields inherited from interface IdentifiedObject

  `ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ParameterValueGroup`
  `createValue()`
  Creates a new instance of parameter value group initialized with the default values.
  `GeneralParameterDescriptor`
  `descriptor(String name)`
  Returns the parameter descriptor in this group for the specified identifier code.
  `List<GeneralParameterDescriptor>`
  `descriptors()`
  Returns the parameters in this group.

  ### Methods inherited from interface GeneralParameterDescriptor

  `getMaximumOccurs, getMinimumOccurs`

  ### Methods inherited from interface IdentifiedObject

  `getAlias, getIdentifiers, getName, getRemarks, toWKT`

- ## Method Details

  - ### createValue

    ParameterValueGroup createValue()
    Creates a new instance of parameter value group initialized with the default values. The parameter value descriptor for the created group will be `this` object. The number of `ParameterValue` objects included must be between the minimum and maximum occurences required. For example:
    - For `ParameterDescriptor` with cardinality 1:* a `ParameterValue` will be included with the default value (even if this default value is null).
    - For `ParameterDescriptor` with cardinality 0:* no entry is required. `ParameterValue` entries may be created only as needed.
    Specified by:
      `createValue` in interface `GeneralParameterDescriptor`
    Returns:
      A new parameter instance initialized to the default value.

  - ### descriptors

    @UML(identifier="parameter", obligation=MANDATORY, specification=ISO_19111) List<GeneralParameterDescriptor> descriptors()
    Returns the parameters in this group.
    Returns:
      The descriptor of this group.

  - ### descriptor

    GeneralParameterDescriptor descriptor(String name) throws ParameterNotFoundException
    Returns the parameter descriptor in this group for the specified identifier code.
    Parameters:
      `name` - The case insensitive identifier code of the parameter to search for.
    Returns:
      The parameter for the given identifier code.
    Throws:
      `ParameterNotFoundException` - if there is no parameter for the given identifier code.