# Interface Objective

All Known Implementing Classes:
  `DefaultObjective`

@UML(identifier="MI_Objective", specification=ISO_19115_2) public interface Objective
Describes the characteristics, spatial and temporal extent of the intended object to be observed.

Since:
  2.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<? extends Extent>`
  `getExtents()`
  Extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective.
  `Collection<? extends InternationalString>`
  `getFunctions()`
  Role or purpose performed by or activity performed at the objective.
  `Collection<? extends Identifier>`
  `getIdentifiers()`
  Code used to identify the objective.
  `Collection<? extends Event>`
  `getObjectiveOccurences()`
  Event or events associated with objective completion.
  `Collection<? extends PlatformPass>`
  `getPass()`
  Pass of the platform over the objective.
  `InternationalString`
  `getPriority()`
  Priority applied to the target.
  `Collection<? extends Instrument>`
  `getSensingInstruments()`
  Instrument which senses the objective data.
  `Collection<? extends ObjectiveType>`
  `getTypes()`
  Collection technique for the objective.

- ## Method Details

  - ### getIdentifiers

    @UML(identifier="identifier", obligation=MANDATORY, specification=ISO_19115_2) Collection<? extends Identifier> getIdentifiers()
    Code used to identify the objective.
    Returns:
      Identify the objective.

  - ### getPriority

    @UML(identifier="priority", obligation=OPTIONAL, specification=ISO_19115_2) InternationalString getPriority()
    Priority applied to the target.
    Returns:
      Priority applied.

  - ### getTypes

    @UML(identifier="type", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends ObjectiveType> getTypes()
    Collection technique for the objective.
    Returns:
      Collection technique for the objective.

  - ### getFunctions

    @UML(identifier="function", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends InternationalString> getFunctions()
    Role or purpose performed by or activity performed at the objective.
    Returns:
      Role or purpose performed by or activity performed at the objective.

  - ### getExtents

    @UML(identifier="extent", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends Extent> getExtents()
    Extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective.
    Returns:
      Extent information.

  - ### getObjectiveOccurences

    @UML(identifier="objectiveOccurence", obligation=MANDATORY, specification=ISO_19115_2) Collection<? extends Event> getObjectiveOccurences()
    Event or events associated with objective completion.
    Returns:
      Events associated with objective completion.

  - ### getPass

    @UML(identifier="pass", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends PlatformPass> getPass()
    Pass of the platform over the objective.
    Returns:
      Pass of the platform.

  - ### getSensingInstruments

    @UML(identifier="sensingInstrument", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends Instrument> getSensingInstruments()
    Instrument which senses the objective data.
    Returns:
      Instrument which senses the objective data.