Class DefaultCitation

All Implemented Interfaces:
Serializable, Emptiable, LenientComparable, IdentifiedObject, org.opengis.metadata.citation.Citation

@TitleProperty(name="title") public class DefaultCitation extends ISOMetadata implements org.opengis.metadata.citation.Citation
Standardized resource reference. The following properties are mandatory in a well-formed metadata according ISO 19115:
CI_Citation   ├─title……………………… Name by which the cited resource is known.   └─date………………………… Reference date for the cited resource.

Unified identifiers view

The ISO 19115 model provides specific attributes for the ISBN and ISSN codes. However, the SIS library handles those codes like any other identifiers. Consequently, the ISBN and ISSN codes are included in the collection returned by getIdentifiers(), except at XML marshalling time (for ISO 19115-3 compliance).

Limitations

  • Instances of this class are not synchronized for multi-threading. Synchronization, if needed, is caller's responsibility.
  • Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases. Serialization support is appropriate for short term storage or RMI between applications running the same version of Apache SIS. For long term storage, use XML instead.
Since:
0.3
Version:
1.0
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.sis.metadata.ModifiableMetadata

    ModifiableMetadata.State
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Collection<org.opengis.util.InternationalString>
    Short name or other language name by which the cited information is known.
    private Collection<org.opengis.metadata.citation.ResponsibleParty>
    Roles, Name, contact, and position information for an individual or organization that is responsible for the resource.
    private org.opengis.util.InternationalString
    Deprecated.
    Removed as of ISO 19115:2014.
    private Collection<org.opengis.metadata.citation.CitationDate>
    Reference date for the cited resource.
    private org.opengis.util.InternationalString
    Version of the cited resource.
    private long
    Date of the edition in milliseconds elapsed sine January 1st, 1970, or Long.MIN_VALUE if none.
    private Collection<org.opengis.metadata.identification.BrowseGraphic>
    Citation graphic or logo for cited party.
    private Collection<org.opengis.metadata.citation.OnlineResource>
    Online references to the cited resource.
    private org.opengis.util.InternationalString
    Other information required to complete the citation that is not recorded elsewhere.
    private Collection<org.opengis.metadata.citation.PresentationForm>
    Mode in which the resource is represented, or an empty collection if none.
    private static final long
    Serial number for inter-operability with different versions.
    private org.opengis.metadata.citation.Series
    Information about the series, or aggregate dataset, of which the dataset is a part.
    private org.opengis.util.InternationalString
    Name by which the cited resource is known.

    Fields inherited from class org.apache.sis.metadata.iso.ISOMetadata

    identifiers
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs an initially empty citation.
    Constructs a citation with the specified title.
    DefaultCitation(org.opengis.metadata.citation.Citation object)
    Constructs a new instance initialized with the values from the specified metadata object.
  • Method Summary

    Modifier and Type
    Method
    Description
    castOrCopy(org.opengis.metadata.citation.Citation object)
    Returns a SIS metadata implementation with the values of the given arbitrary implementation.
    Collection<org.opengis.util.InternationalString>
    Returns short name or other language name by which the cited information is known.
    Collection<org.opengis.metadata.citation.ResponsibleParty>
    Returns the role, name, contact and position information for an individual or organization that is responsible for the resource.
    org.opengis.util.InternationalString
    Deprecated.
    Removed as of ISO 19115:2014.
    Collection<org.opengis.metadata.citation.CitationDate>
    Returns the reference date for the cited resource.
    org.opengis.util.InternationalString
    Returns the version of the cited resource.
    Returns the date of the edition.
    private Collection<org.opengis.metadata.identification.BrowseGraphic>
     
    Collection<org.opengis.metadata.identification.BrowseGraphic>
    Returns citation graphics or logo for cited party.
    private String
    getIdentifier(org.opengis.metadata.citation.Citation authority)
    Returns the ISBN or ISSN identifier for the given authority, or null if none.
    Collection<org.opengis.metadata.Identifier>
    Returns the unique identifier for the resource.
    Returns the International Standard Book Number.
    Returns the International Standard Serial Number.
    private Collection<org.opengis.metadata.citation.OnlineResource>
    Invoked by JAXB at both marshalling and unmarshalling time.
    Collection<org.opengis.metadata.citation.OnlineResource>
    Returns online references to the cited resource.
    org.opengis.util.InternationalString
    Returns other information required to complete the citation that is not recorded elsewhere.
    Collection<org.opengis.metadata.citation.PresentationForm>
    Returns the mode in which the resource is represented.
    org.opengis.metadata.citation.Series
    Returns the information about the series, or aggregate dataset, of which the dataset is a part.
    org.opengis.util.InternationalString
    Returns the name by which the cited resource is known.
    void
    setAlternateTitles(Collection<? extends org.opengis.util.InternationalString> newValues)
    Sets the short name or other language name by which the cited information is known.
    void
    setCitedResponsibleParties(Collection<? extends org.opengis.metadata.citation.ResponsibleParty> newValues)
    Sets the role, name, contact and position information for an individual or organization that is responsible for the resource.
    void
    setCollectiveTitle(org.opengis.util.InternationalString newValue)
    Deprecated.
    Removed as of ISO 19115:2014.
    void
    setDates(Collection<? extends org.opengis.metadata.citation.CitationDate> newValues)
    Sets the reference date for the cited resource.
    void
    setEdition(org.opengis.util.InternationalString newValue)
    Sets the version of the cited resource.
    void
    setEditionDate(Date newValue)
    Sets the date of the edition.
    void
    setGraphics(Collection<? extends org.opengis.metadata.identification.BrowseGraphic> newValues)
    Sets citation graphics or logo for cited party.
    void
    setIdentifiers(Collection<? extends org.opengis.metadata.Identifier> newValues)
    Sets the unique identifier for the resource.
    void
    setISBN(String newValue)
    Sets the International Standard Book Number.
    void
    setISSN(String newValue)
    Sets the International Standard Serial Number.
    void
    setOnlineResources(Collection<? extends org.opengis.metadata.citation.OnlineResource> newValues)
    Sets online references to the cited resource.
    void
    setOtherCitationDetails(org.opengis.util.InternationalString newValue)
    Sets other information required to complete the citation that is not recorded elsewhere.
    void
    setPresentationForms(Collection<? extends org.opengis.metadata.citation.PresentationForm> newValues)
    Sets the mode in which the resource is represented.
    void
    setSeries(org.opengis.metadata.citation.Series newValue)
    Sets the information about the series, or aggregate dataset, of which the dataset is a part.
    void
    setTitle(org.opengis.util.InternationalString newValue)
    Sets the name by which the cited resource is known.

    Methods inherited from class org.apache.sis.metadata.iso.ISOMetadata

    getIdentifier, getIdentifierMap, getStandard, setIdentifier, transitionTo

    Methods inherited from class org.apache.sis.metadata.AbstractMetadata

    asMap, asTreeTable, equals, equals, getInterface, hashCode, isEmpty, prune, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serial number for inter-operability with different versions.
      See Also:
    • title

      private org.opengis.util.InternationalString title
      Name by which the cited resource is known.
    • alternateTitles

      private Collection<org.opengis.util.InternationalString> alternateTitles
      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.
    • dates

      private Collection<org.opengis.metadata.citation.CitationDate> dates
      Reference date for the cited resource.
    • edition

      private org.opengis.util.InternationalString edition
      Version of the cited resource.
    • editionDate

      private long editionDate
      Date of the edition in milliseconds elapsed sine January 1st, 1970, or Long.MIN_VALUE if none.
    • citedResponsibleParties

      private Collection<org.opengis.metadata.citation.ResponsibleParty> citedResponsibleParties
      Roles, Name, contact, and position information for an individual or organization that is responsible for the resource.
    • presentationForms

      private Collection<org.opengis.metadata.citation.PresentationForm> presentationForms
      Mode in which the resource is represented, or an empty collection if none.
    • series

      private org.opengis.metadata.citation.Series series
      Information about the series, or aggregate dataset, of which the dataset is a part. May be null if none.
    • otherCitationDetails

      private org.opengis.util.InternationalString otherCitationDetails
      Other information required to complete the citation that is not recorded elsewhere. May be null if none.
    • collectiveTitle

      @Deprecated private org.opengis.util.InternationalString collectiveTitle
      Deprecated.
      Removed as of ISO 19115:2014.
      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. May be null if there is no title.
    • onlineResources

      private Collection<org.opengis.metadata.citation.OnlineResource> onlineResources
      Online references to the cited resource.
    • graphics

      private Collection<org.opengis.metadata.identification.BrowseGraphic> graphics
      Citation graphic or logo for cited party.
  • Constructor Details

    • DefaultCitation

      public DefaultCitation()
      Constructs an initially empty citation.
    • DefaultCitation

      public DefaultCitation(CharSequence title)
      Constructs a citation with the specified title.
      Parameters:
      title - the title as a String or an InternationalString object, or null if none.
    • DefaultCitation

      public DefaultCitation(org.opengis.metadata.citation.Citation object)
      Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, because the other metadata contained in the given object are not recursively copied.
      Parameters:
      object - the metadata to copy values from, or null if none.
      See Also:
  • Method Details

    • castOrCopy

      public static DefaultCitation castOrCopy(org.opengis.metadata.citation.Citation object)
      Returns a SIS metadata implementation with the values of the given arbitrary implementation. This method performs the first applicable action in the following choices:
      • If the given object is null, then this method returns null.
      • Otherwise if the given object is already an instance of DefaultCitation, then it is returned unchanged.
      • Otherwise a new DefaultCitation instance is created using the copy constructor and returned. Note that this is a shallow copy operation, because the other metadata contained in the given object are not recursively copied.
      Parameters:
      object - the object to get as a SIS implementation, or null if none.
      Returns:
      a SIS implementation containing the values of the given object (may be the given object itself), or null if the argument was null.
    • getTitle

      public org.opengis.util.InternationalString getTitle()
      Returns the name by which the cited resource is known.
      Specified by:
      getTitle in interface org.opengis.metadata.citation.Citation
      Returns:
      the cited resource name, or null.
    • setTitle

      public void setTitle(org.opengis.util.InternationalString newValue)
      Sets the name by which the cited resource is known.
      Parameters:
      newValue - the new title, or null if none.
    • getAlternateTitles

      public Collection<org.opengis.util.InternationalString> getAlternateTitles()
      Returns 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".
      Specified by:
      getAlternateTitles in interface org.opengis.metadata.citation.Citation
      Returns:
      other names for the resource, or an empty collection if none.
    • setAlternateTitles

      public void setAlternateTitles(Collection<? extends org.opengis.util.InternationalString> newValues)
      Sets the short name or other language name by which the cited information is known.
      Parameters:
      newValues - the new alternate titles, or null if none.
    • getDates

      public Collection<org.opengis.metadata.citation.CitationDate> getDates()
      Returns the reference date for the cited resource.
      Specified by:
      getDates in interface org.opengis.metadata.citation.Citation
      Returns:
      the reference date.
    • setDates

      public void setDates(Collection<? extends org.opengis.metadata.citation.CitationDate> newValues)
      Sets the reference date for the cited resource.
      Parameters:
      newValues - the new dates, or null if none.
    • getEdition

      public org.opengis.util.InternationalString getEdition()
      Returns the version of the cited resource.
      Specified by:
      getEdition in interface org.opengis.metadata.citation.Citation
      Returns:
      the version, or null if none.
    • setEdition

      public void setEdition(org.opengis.util.InternationalString newValue)
      Sets the version of the cited resource.
      Parameters:
      newValue - the new edition, or null if none.
    • getEditionDate

      public Date getEditionDate()
      Returns the date of the edition.
      Specified by:
      getEditionDate in interface org.opengis.metadata.citation.Citation
      Returns:
      the edition date, or null if none.
    • setEditionDate

      public void setEditionDate(Date newValue)
      Sets the date of the edition.
      Parameters:
      newValue - the new edition date, or null if none.
    • getIdentifiers

      public Collection<org.opengis.metadata.Identifier> getIdentifiers()
      Returns the unique identifier for the resource.
      Example: Universal Product Code (UPC), National Stock Number (NSN).

      Unified identifiers view

      In this SIS implementation, the collection returned by this method includes the XML identifiers (ID, UUID, etc.), as well as the ISBN and ISSN codes, thus providing a unified view of every kind of identifiers associated to this citation.
      XML note: The <cit:identifier> element marshalled to XML will exclude all the above cited identifiers, for ISO 19115-3 compliance. Those identifiers will appear in other XML elements or attributes.
      Specified by:
      getIdentifiers in interface org.opengis.metadata.citation.Citation
      Specified by:
      getIdentifiers in interface IdentifiedObject
      Overrides:
      getIdentifiers in class ISOMetadata
      Returns:
      the identifiers, or an empty collection if none.
      See Also:
    • setIdentifiers

      public void setIdentifiers(Collection<? extends org.opengis.metadata.Identifier> newValues)
      Sets the unique identifier for the resource. Example: Universal Product Code (UPC), National Stock Number (NSN).

      XML identifiers (ID, UUID, etc.), ISBN and ISSN codes are not affected by this method, unless they are explicitly provided in the given collection.

      Parameters:
      newValues - the new identifiers, or null if none.
      See Also:
    • getCitedResponsibleParties

      public Collection<org.opengis.metadata.citation.ResponsibleParty> getCitedResponsibleParties()
      Returns the role, name, contact and position information for an individual or organization that is responsible for the resource.
      Upcoming API change — generalization
      As of ISO 19115:2014, ResponsibleParty is replaced by the Responsibility parent interface. This change may be applied in GeoAPI 4.0.
      Specified by:
      getCitedResponsibleParties in interface org.opengis.metadata.citation.Citation
      Returns:
      the individual or organization that is responsible, or an empty collection if none.
    • setCitedResponsibleParties

      public void setCitedResponsibleParties(Collection<? extends org.opengis.metadata.citation.ResponsibleParty> newValues)
      Sets the role, name, contact and position information for an individual or organization that is responsible for the resource.
      Upcoming API change — generalization
      As of ISO 19115:2014, ResponsibleParty is replaced by the Responsibility parent interface. This change may be applied in GeoAPI 4.0.
      Parameters:
      newValues - the new cited responsible parties, or null if none.
    • getPresentationForms

      public Collection<org.opengis.metadata.citation.PresentationForm> getPresentationForms()
      Returns the mode in which the resource is represented.
      Specified by:
      getPresentationForms in interface org.opengis.metadata.citation.Citation
      Returns:
      the presentation modes, or an empty collection if none.
    • setPresentationForms

      public void setPresentationForms(Collection<? extends org.opengis.metadata.citation.PresentationForm> newValues)
      Sets the mode in which the resource is represented.
      Parameters:
      newValues - the new presentation form, or null if none.
    • getSeries

      public org.opengis.metadata.citation.Series getSeries()
      Returns the information about the series, or aggregate dataset, of which the dataset is a part.
      Specified by:
      getSeries in interface org.opengis.metadata.citation.Citation
      Returns:
      the series of which the dataset is a part, or null if none.
    • setSeries

      public void setSeries(org.opengis.metadata.citation.Series newValue)
      Sets the information about the series, or aggregate dataset, of which the dataset is a part.
      Parameters:
      newValue - the new series.
    • getOtherCitationDetails

      public org.opengis.util.InternationalString getOtherCitationDetails()
      Returns other information required to complete the citation that is not recorded elsewhere.
      Upcoming API change — multiplicity
      As of ISO 19115:2014, this singleton has been replaced by a collection. This change may be applied in GeoAPI 4.0.
      Specified by:
      getOtherCitationDetails in interface org.opengis.metadata.citation.Citation
      Returns:
      other details, or null if none.
    • setOtherCitationDetails

      public void setOtherCitationDetails(org.opengis.util.InternationalString newValue)
      Sets other information required to complete the citation that is not recorded elsewhere.
      Upcoming API change — multiplicity
      As of ISO 19115:2014, this singleton has been replaced by a collection. This change may be applied in GeoAPI 4.0.
      Parameters:
      newValue - Other citations details, or null if none.
    • getCollectiveTitle

      @Deprecated public org.opengis.util.InternationalString getCollectiveTitle()
      Deprecated.
      Removed as of ISO 19115:2014.
      Returns the common title with holdings note.
      Specified by:
      getCollectiveTitle in interface org.opengis.metadata.citation.Citation
      Returns:
      the common title, or null if none.
    • setCollectiveTitle

      @Deprecated public void setCollectiveTitle(org.opengis.util.InternationalString newValue)
      Deprecated.
      Removed as of ISO 19115:2014.
      Sets the common title with holdings note. This title identifies elements of a series collectively, combined with information about what volumes are available at the source cited.
      Parameters:
      newValue - the new collective title, or null if none.
    • getIdentifier

      private String getIdentifier(org.opengis.metadata.citation.Citation authority)
      Returns the ISBN or ISSN identifier for the given authority, or null if none.
    • getISBN

      public String getISBN()
      Returns the International Standard Book Number. In this SIS implementation, invoking this method is equivalent to:
      Specified by:
      getISBN in interface org.opengis.metadata.citation.Citation
      Returns:
      the ISBN, or null if none.
      See Also:
    • setISBN

      public void setISBN(String newValue)
      Sets the International Standard Book Number. In this SIS implementation, invoking this method is equivalent to:
      Parameters:
      newValue - the new ISBN, or null if none.
      See Also:
    • getISSN

      public String getISSN()
      Returns the International Standard Serial Number. In this SIS implementation, invoking this method is equivalent to:
      Specified by:
      getISSN in interface org.opengis.metadata.citation.Citation
      Returns:
      the ISSN, or null if none.
      See Also:
    • setISSN

      public void setISSN(String newValue)
      Sets the International Standard Serial Number. In this SIS implementation, invoking this method is equivalent to:
      Parameters:
      newValue - the new ISSN.
      See Also:
    • getOnlineResources

      @UML(identifier="onlineResource", obligation=OPTIONAL, specification=ISO_19115) public Collection<org.opengis.metadata.citation.OnlineResource> getOnlineResources()
      Returns online references to the cited resource.
      Returns:
      online references to the cited resource, or an empty collection if there is none.
      Since:
      0.5
    • setOnlineResources

      public void setOnlineResources(Collection<? extends org.opengis.metadata.citation.OnlineResource> newValues)
      Sets online references to the cited resource.
      Parameters:
      newValues - the new online references to the cited resource.
      Since:
      0.5
    • getGraphics

      @UML(identifier="graphic", obligation=OPTIONAL, specification=ISO_19115) public Collection<org.opengis.metadata.identification.BrowseGraphic> getGraphics()
      Returns citation graphics or logo for cited party.
      Returns:
      graphics or logo for cited party, or an empty collection if there is none.
      Since:
      0.5
    • setGraphics

      public void setGraphics(Collection<? extends org.opengis.metadata.identification.BrowseGraphic> newValues)
      Sets citation graphics or logo for cited party.
      Parameters:
      newValues - the new citation graphics or logo for cited party.
      Since:
      0.5
    • getOnlineResource

      private Collection<org.opengis.metadata.citation.OnlineResource> getOnlineResource()
      Invoked by JAXB at both marshalling and unmarshalling time. This attribute has been added by ISO 19115:2014 standard. If (and only if) marshalling an older standard version, we omit this attribute.
    • getGraphic

      private Collection<org.opengis.metadata.identification.BrowseGraphic> getGraphic()