# Interface GeneralParameterDescriptor

All Superinterfaces:
  `IdentifiedObject`

All Known Subinterfaces:
  `ParameterDescriptor<T>, ParameterDescriptorGroup`

All Known Implementing Classes:
  `AbstractParameterDescriptor, DefaultParameterDescriptor, DefaultParameterDescriptorGroup`

@UML(identifier="CC_GeneralOperationParameter", specification=ISO_19111) public interface GeneralParameterDescriptor extends IdentifiedObject
Abstract definition of a parameter or group of parameters used by an operation method.

Since:
  2.0
See Also:
  - `GeneralParameterValue`

- ## Field Summary

  ### Fields inherited from interface IdentifiedObject

  `ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GeneralParameterValue`
  `createValue()`
  Creates a new instance of parameter value or group initialized with the default value(s).
  `int`
  `getMaximumOccurs()`
  The maximum number of times that values for this parameter group or parameter can be included.
  `int`
  `getMinimumOccurs()`
  The minimum number of times that values for this parameter group or parameter are required.

  ### Methods inherited from interface IdentifiedObject

  `getAlias, getIdentifiers, getName, getRemarks, toWKT`

- ## Method Details

  - ### createValue

    GeneralParameterValue createValue()
    Creates a new instance of parameter value or group initialized with the default value(s). The parameter value descriptor for the created parameter value(s) will be `this` object.
    Returns:
      A new parameter initialized to its default value.

  - ### getMinimumOccurs

    @UML(identifier="minimumOccurs", obligation=OPTIONAL, specification=ISO_19111) int getMinimumOccurs()
    The minimum number of times that values for this parameter group or parameter are required. The default value is one. A value of 0 means an optional parameter.
    Returns:
      The minimum occurrence.
    See Also:
      - `getMaximumOccurs()`

  - ### getMaximumOccurs

    @UML(identifier="CC_OperationParameterGroup.maximumOccurs", obligation=OPTIONAL, specification=ISO_19111) int getMaximumOccurs()
    The maximum number of times that values for this parameter group or parameter can be included. For a single parameter, the value is always 1. For a parameter group, it may vary. The default value is one.
    Returns:
      The maximum occurrence.
    See Also:
      - `getMinimumOccurs()`