/**************************************************************************************************
 **
 ** $Id: CommonCapabilities.java 831 2006-05-01 00:27:23Z Desruisseaux $
 **
 ** $URL: http://svn.code.sf.net/p/geoapi/code/branches/2.0.x/geoapi/src/main/java/org/opengis/go/CommonCapabilities.java $
 **
 ** Copyright (C) 2003-2005 Open GIS Consortium, Inc.
 ** All Rights Reserved. http://www.opengis.org/legal/
 **
 *************************************************************************************************/

package org.opengis.go;

import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.go.spatial.PathType;

/**
 * The CommonCapabilities interface provides runtime information
 * about the capabilities of a given GO-1 implementation. Objects implementing
 * this interface are obtained through the
 * CommonFactory.getCapabilities() method.
 *
 * @author Open GIS Consortium, Inc.
 * @version $Revision: 658 $, $Date: 2006-02-23 12:09:34 +1100 (jeu., 23 févr. 2006) $
 */
public interface CommonCapabilities {

    /**
     * Returns an array of Class objects for the directposition
     * interfaces that are supported by a given implementation.
     */
    Class[] getSupportedDirectPositions();

    /**
     * Returns an array of Class objects for the directposition
     * interfaces that are supported by a given implementation for the specified
     * Coordinate Reference System.
     *
     * @param crs the Coordinate Reference System.
     */
    Class[] getSupportedDirectPositions(CoordinateReferenceSystem crs);

    /**
     * Returns an array of Class objects from the
     * spatialschema-package that are supported by a given implementation for
     * the specified Coordinate Reference System.
     *
     * @param crs the Coordinate Reference System.
     */
    Class[] getSupportedSpatialSchemaObjects(CoordinateReferenceSystem crs);

    /**
     * Returns an array of Class objects for the orientation
     * interfaces that are supported by a given implementation.
     */
    Class[] getSupportedOrientations();

    /**
     * Returns an array of Class objects for the orientation
     * interfaces that are supported by a given implementation for the specified
     * Coordinate Reference System.
     *
     * @param crs the Coordinate Reference System.
     */
    Class[] getSupportedOrientations(CoordinateReferenceSystem crs);

    /**
     * Returns an array of Class objects for the geometry
     * interfaces that are supported by a given implementation. These Class
     * objects can be used in a call to
     * GeometryFactory.getGeometry(Class).
     */
    Class[] getSupportedGeometries();

    /**
     * Returns an array of Strings that are keys for the Coordinate Reference
     * Systems that this implementation supports. These strings can be used in a
     * call to
     * CoordinateReferenceSystemFactory.getCoordinateReferenceSystem(String).
     */
    String[] getSupportedCoordinateReferenceSystems();

    /**
     * Returns an array of Strings that are keys for the datums that this
     * implementation supports. These strings can be used in a call to
     * DatumFactory.getDatum(String).
     */
    String[] getSupportedDatums();

    /**
     * Returns an array of PathType objects that indicates the
     * path types that are supported.
     */
    PathType[] getSupportedPathTypes();

    /**
     * Returns an array of Strings representing
     * the projections that are supported.
     */
    String[] getSupportedProjections();
}
 

Ads help maintain this website.