Class Citations


  • public final class Citations
    extends Object
    A set of pre-defined constants and static methods working on citations. Pre-defined metadata constants are usually declared in implementation classes like ResponsiblePartyImpl. But citations are an exception since they are extensively referenced in the Geotools library, and handling citations requires some convenience methods. They are factored out in this Citations class for clarity.

    Citations may be about an organisation (e.g. OpenGIS), a specification (e.g. WMS) or an authority that maintains definitions of codes (e.g. EPSG). In the later case, the citation contains an identifier which is the namespace of the codes maintained by the authority. For example the identifier for the EPSG citation is "EPSG", and EPSG codes look like "EPSG:4326".

    Since:
    2.2
    Author:
    Martin Desruisseaux (IRD), Jody Garnett
    • Method Detail

      • fromName

        public static Citation fromName​(String title)
        Returns a citation of the given name. If the given name matches a title or an alternate titles of one of the pre-defined constants (EPSG, GEOTIFF, etc.), then this constant is returned. Otherwise, a new citation is created with the specified name as the title.
        Parameters:
        title - The citation title (or alternate title).
        Returns:
        A citation using the specified name
      • titleMatches

        public static boolean titleMatches​(Citation c1,
                                           Citation c2)
        Returns true if at least one title or alternate title in c1 is equals to a title or alternate title in c2. The comparaison is case-insensitive and ignores leading and trailing spaces. The titles ordering is not significant.
        Parameters:
        c1 - The first citation to compare.
        c2 - the second citation to compare.
        Returns:
        true if at least one title or alternate title matches.
      • titleMatches

        public static boolean titleMatches​(Citation citation,
                                           String title)
        Returns true if the title or any alternate title in the given citation matches the given string. The comparaison is case-insensitive and ignores leading and trailing spaces.
        Parameters:
        citation - The citation to check for.
        title - The title or alternate title to compare.
        Returns:
        true if the title or alternate title matches the given string.
      • identifierMatches

        public static boolean identifierMatches​(Citation c1,
                                                Citation c2)
        Returns true if at least one identifier in c1 is equals to an identifier in c2. The comparaison is case-insensitive and ignores leading and trailing spaces. The identifier ordering is not significant.

        If (and only if) the citations do not contains any identifier, then this method fallback on titles comparaison using the titleMatches method. This fallback exists for compatibility with client codes using citation titles without identifiers.

        Parameters:
        c1 - The first citation to compare.
        c2 - the second citation to compare.
        Returns:
        true if at least one identifier, title or alternate title matches.
      • identifierMatches

        public static boolean identifierMatches​(Citation citation,
                                                String identifier)
        Returns true if any identifiers in the given citation matches the given string. The comparaison is case-insensitive and ignores leading and trailing spaces. If (and only if) the citation do not contains any identifier, then this method fallback on titles comparaison using the titleMatches method. This fallback exists for compatibility with client codes using citation titles without identifiers.
        Parameters:
        citation - The citation to check for.
        identifier - The identifier to compare.
        Returns:
        true if the title or alternate title matches the given string.
      • getIdentifier

        public static String getIdentifier​(Citation citation)
        Returns the shortest identifier for the specified citation, or the title if there is no identifier. This method is useful for extracting the namespace from an authority, for example "EPSG".
        Parameters:
        citation - The citation for which to get the identifier.
        Returns:
        The shortest identifier of the given citation.
        Since:
        2.4