# Interface Operation

All Known Implementing Classes:
  `DefaultOperation`

@UML(identifier="MI_Operation", specification=ISO_19115_2) public interface Operation
Designations for the operation used to acquire the dataset.

Since:
  2.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<? extends Operation>`
  `getChildOperations()`
  Sub-missions that make up part of a larger mission.
  `Citation`
  `getCitation()`
  Identification of the mission.
  `InternationalString`
  `getDescription()`
  Description of the mission on which the platform observations are made and the objectives of that mission.
  `Identifier`
  `getIdentifier()`
  Unique identification of the operation.
  `Collection<? extends Objective>`
  `getObjectives()`
  Object(s) or area(s) of interest to be sensed.
  `Operation`
  `getParentOperation()`
  Heritage of the operation.
  `Plan`
  `getPlan()`
  Plan satisfied by the operation.
  `Collection<? extends Platform>`
  `getPlatforms()`
  Platform (or platforms) used in the operation.
  `Collection<? extends Event>`
  `getSignificantEvents()`
  Record of an event occurring during an operation.
  `Progress`
  `getStatus()`
  Status of the data acquisition.
  `OperationType`
  `getType()`
  Collection technique for the operation.

- ## Method Details

  - ### getDescription

    @UML(identifier="description", obligation=OPTIONAL, specification=ISO_19115_2) InternationalString getDescription()
    Description of the mission on which the platform observations are made and the objectives of that mission.
    Returns:
      Description of the mission.

  - ### getCitation

    @UML(identifier="citation", obligation=OPTIONAL, specification=ISO_19115_2) Citation getCitation()
    Identification of the mission.
    Returns:
      Identification of the mission.

  - ### getIdentifier

    @UML(identifier="identifier", obligation=MANDATORY, specification=ISO_19115_2) Identifier getIdentifier()
    Unique identification of the operation.
    Returns:
      Unique identification of the operation.

  - ### getStatus

    @UML(identifier="status", obligation=MANDATORY, specification=ISO_19115_2) Progress getStatus()
    Status of the data acquisition.
    Returns:
      Status of the data acquisition.

  - ### getType

    @UML(identifier="type", obligation=OPTIONAL, specification=ISO_19115_2) OperationType getType()
    Collection technique for the operation.
    Returns:
      Collection technique for the operation.

  - ### getChildOperations

    @UML(identifier="childOperation", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends Operation> getChildOperations()
    Sub-missions that make up part of a larger mission.
    Returns:
      Sub-missions.

  - ### getObjectives

    @UML(identifier="objective", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends Objective> getObjectives()
    Object(s) or area(s) of interest to be sensed.
    Returns:
      Object(s) or area(s) of interest.

  - ### getParentOperation

    @UML(identifier="parentOperation", obligation=MANDATORY, specification=ISO_19115_2) Operation getParentOperation()
    Heritage of the operation.
    Returns:
      Heritage of the operation.

  - ### getPlan

    @UML(identifier="plan", obligation=OPTIONAL, specification=ISO_19115_2) Plan getPlan()
    Plan satisfied by the operation.
    Returns:
      Plan satisfied by the operation.

  - ### getPlatforms

    @UML(identifier="platform", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends Platform> getPlatforms()
    Platform (or platforms) used in the operation.
    Returns:
      Platforms used in the operation.

  - ### getSignificantEvents

    @UML(identifier="significantEvent", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends Event> getSignificantEvents()
    Record of an event occurring during an operation.
    Returns:
      Record of an event occurring during an operation.