# Interface Citation

All Known Subinterfaces:
  `IdentifierSpace<T>`

All Known Implementing Classes:
  `DefaultCitation`

@UML(identifier="CI_Citation", specification=ISO_19115) public interface Citation
Standardized resource reference.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<? extends InternationalString>`
  `getAlternateTitles()`
  Short name or other language name by which the cited information is known.
  `Collection<? extends ResponsibleParty>`
  `getCitedResponsibleParties()`
  Name and position information for an individual or organization that is responsible for the resource.
  `InternationalString`
  `getCollectiveTitle()`
  Common title with holdings note.
  `Collection<? extends CitationDate>`
  `getDates()`
  Reference date for the cited resource.
  `InternationalString`
  `getEdition()`
  Version of the cited resource.
  `Date`
  `getEditionDate()`
  Date of the edition, or `null` if none.
  `Collection<? extends Identifier>`
  `getIdentifiers()`
  Unique identifier for the resource.
  `String`
  `getISBN()`
  International Standard Book Number, or `null` if none.
  `String`
  `getISSN()`
  International Standard Serial Number, or `null` if none.
  `InternationalString`
  `getOtherCitationDetails()`
  Other information required to complete the citation that is not recorded elsewhere.
  `Collection<PresentationForm>`
  `getPresentationForms()`
  Mode in which the resource is represented, or an empty string if none.
  `Series`
  `getSeries()`
  Information about the series, or aggregate dataset, of which the dataset is a part.
  `InternationalString`
  `getTitle()`
  Name by which the cited resource is known.

- ## Method Details

  - ### getTitle

    @Profile(level=CORE) @UML(identifier="title", obligation=MANDATORY, specification=ISO_19115) InternationalString getTitle()
    Name by which the cited resource is known.
    Returns:
      The cited resource name.

  - ### getAlternateTitles

    @UML(identifier="alternateTitle", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends InternationalString> getAlternateTitles()
    Short name or other language name by which the cited information is known. Example: "DCW" as an alternative title for "Digital Chart of the World".
    Returns:
      Other names for the resource, or an empty collection if none.

  - ### getDates

    @Profile(level=CORE) @UML(identifier="date", obligation=MANDATORY, specification=ISO_19115) Collection<? extends CitationDate> getDates()
    Reference date for the cited resource.
    Returns:
      The reference date.

  - ### getEdition

    @UML(identifier="edition", obligation=OPTIONAL, specification=ISO_19115) InternationalString getEdition()
    Version of the cited resource.
    Returns:
      The version, or `null` if none.

  - ### getEditionDate

    @UML(identifier="editionDate", obligation=OPTIONAL, specification=ISO_19115) Date getEditionDate()
    Date of the edition, or `null` if none.

    Warning: The return type of this method may change in GeoAPI 3.1 release. It may be replaced by a type matching more closely either ISO 19108 (Temporal Schema) or ISO 19103.

    Returns:
      The edition date, or `null` if none.

  - ### getIdentifiers

    @UML(identifier="identifier", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends Identifier> getIdentifiers()
    Unique identifier for the resource. Example: Universal Product Code (UPC), National Stock Number (NSN).
    Returns:
      The identifiers, or an empty collection if none.

  - ### getCitedResponsibleParties

    @UML(identifier="citedResponsibleParty", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends ResponsibleParty> getCitedResponsibleParties()
    Name and position information for an individual or organization that is responsible for the resource. Returns an empty string if there is none.
    Returns:
      The individual or organization that is responsible, or an empty collection if none.

  - ### getPresentationForms

    @UML(identifier="presentationForm", obligation=OPTIONAL, specification=ISO_19115) Collection<PresentationForm> getPresentationForms()
    Mode in which the resource is represented, or an empty string if none.
    Returns:
      The presentation mode, or an empty collection if none.

  - ### getSeries

    @UML(identifier="series", obligation=OPTIONAL, specification=ISO_19115) Series getSeries()
    Information about the series, or aggregate dataset, of which the dataset is a part. Returns `null` if none.
    Returns:
      The series of which the dataset is a part, or `null` if none.

  - ### getOtherCitationDetails

    @UML(identifier="otherCitationDetails", obligation=OPTIONAL, specification=ISO_19115) InternationalString getOtherCitationDetails()
    Other information required to complete the citation that is not recorded elsewhere. Returns `null` if none.
    Returns:
      Other details, or `null` if none.

  - ### getCollectiveTitle

    @UML(identifier="collectiveTitle", obligation=OPTIONAL, specification=ISO_19115) InternationalString getCollectiveTitle()
    Common title with holdings note. Note: title identifies elements of a series collectively, combined with information about what volumes are available at the source cited. Returns `null` if there is no title.
    Returns:
      The common title, or `null` if none.

  - ### getISBN

    @UML(identifier="ISBN", obligation=OPTIONAL, specification=ISO_19115) String getISBN()
    International Standard Book Number, or `null` if none.
    Returns:
      The ISBN, or `null` if none.

  - ### getISSN

    @UML(identifier="ISSN", obligation=OPTIONAL, specification=ISO_19115) String getISSN()
    International Standard Serial Number, or `null` if none.
    Returns:
      The ISSN, or `null` if none.