# Interface Lineage

All Known Implementing Classes:
  `DefaultLineage`

@UML(identifier="LI_Lineage", specification=ISO_19115) public interface Lineage
Information about the events or source data used in constructing the data specified by the scope or lack of knowledge about lineage. Only one of statement, process steps and sources shall be provided.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<? extends ProcessStep>`
  `getProcessSteps()`
  Information about an event in the creation process for the data specified by the scope.
  `Collection<? extends Source>`
  `getSources()`
  Information about the source data used in creating the data specified by the scope.
  `InternationalString`
  `getStatement()`
  General explanation of the data producer's knowledge about the lineage of a dataset.

- ## Method Details

  - ### getStatement

    @Profile(level=CORE) @UML(identifier="statement", obligation=CONDITIONAL, specification=ISO_19115) InternationalString getStatement()
    General explanation of the data producer's knowledge about the lineage of a dataset.
    Returns:
      Explanation of the data producer's knowledge about the lineage, or `null`.

  - ### getProcessSteps

    @UML(identifier="processStep", obligation=CONDITIONAL, specification=ISO_19115) Collection<? extends ProcessStep> getProcessSteps()
    Information about an event in the creation process for the data specified by the scope.
    Returns:
      Information about an event in the creation process.

  - ### getSources

    @UML(identifier="source", obligation=CONDITIONAL, specification=ISO_19115) Collection<? extends Source> getSources()
    Information about the source data used in creating the data specified by the scope.
    Returns:
      Information about the source data.