All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opengis.util.NameSpace Maven / Gradle / Ivy

Go to download

The development community in building GIS solutions is sustaining an enormous level of effort. The GeoAPI project aims to reduce duplication and increase interoperability by providing neutral, interface-only APIs derived from OGC/ISO Standards.

There is a newer version: 3.0.2
Show newest version
/*
 *    GeoAPI - Java interfaces for OGC/ISO standards
 *    http://www.geoapi.org
 *
 *    Copyright (C) 2006-2011 Open Geospatial Consortium, Inc.
 *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
 *
 *    Permission to use, copy, and modify this software and its documentation, with
 *    or without modification, for any purpose and without fee or royalty is hereby
 *    granted, provided that you include the following on ALL copies of the software
 *    and documentation or portions thereof, including modifications, that you make:
 *
 *    1. The full text of this NOTICE in a location viewable to users of the
 *       redistributed or derivative work.
 *    2. Notice of any changes or modifications to the OGC files, including the
 *       date changes were made.
 *
 *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
 *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
 *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
 *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
 *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
 *
 *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
 *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
 *
 *    The name and trademarks of copyright holders may NOT be used in advertising or
 *    publicity pertaining to the software without specific, written prior permission.
 *    Title to copyright in this software and any associated documentation will at all
 *    times remain with copyright holders.
 */
package org.opengis.util;

import org.opengis.annotation.UML;

import static org.opengis.annotation.Obligation.*;
import static org.opengis.annotation.Specification.*;


/**
 * A domain in which {@linkplain GenericName names} given by character strings are defined.
 * Every {@link GenericName} must be valid in a namespace. For a {@link LocalName}, this means
 * that the name must exist in the current namespace. For a {@link ScopedName}, this means:
 * 

*

    *
  1. The {@linkplain ScopedName#head head} of a {@code ScopedName} must be a {@code LocalName} * which is valid in this namespace.
  2. *
  3. The {@linkplain ScopedName#tail tail} must either be: *
      *
    • a {@code LocalName} which is valid in the {@code NameSpace} associated with the head, or
    • *
    • another {@code ScopedName} with these same constraints on head and tail, applied to * the {@code NameSpace} associated with the head.
    • *
  4. *
* * @author Bryce Nordgren (USDA) * @author Martin Desruisseaux (IRD) * @version 3.0 * @since 2.1 * * @navassoc 1 - - GenericName */ @UML(identifier="NameSpace", specification=ISO_19103) public interface NameSpace { /** * Indicates whether this namespace is a "top level" namespace. Global, or top-level * namespaces are not contained within another namespace. There is no namespace called * "global" or "root" which contains all of the top-level namespaces. Hence, this flag * indicates whether the namespace has a parent. * * @return {@code true} if this namespace has no parent. */ @UML(identifier="isGlobal", obligation=MANDATORY, specification=ISO_19103) boolean isGlobal(); /** * Represents the identifier of this namespace. If the {@linkplain #isGlobal global} attribute is * {@code true}, indicating that this is a top level {@code NameSpace}, then the name shall be a * {@linkplain LocalName local name}. If {@code false}, name shall be a fully-qualified name where * name.{@linkplain GenericName#scope() scope()}.{@linkplain #isGlobal} == true. * * @return The identifier of this namespace. */ @UML(identifier="name", obligation=MANDATORY, specification=ISO_19103) GenericName name(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy