1 /*
2  *    GeoAPI - Java interfaces for OGC/ISO standards
3  *    http://www.geoapi.org
4  *
5  *    Copyright (C) 2004-2011 Open Geospatial Consortium, Inc.
6  *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
7  *
8  *    Permission to use, copy, and modify this software and its documentation, with
9  *    or without modification, for any purpose and without fee or royalty is hereby
10  *    granted, provided that you include the following on ALL copies of the software
11  *    and documentation or portions thereof, including modifications, that you make:
12  *
13  *    1. The full text of this NOTICE in a location viewable to users of the
14  *       redistributed or derivative work.
15  *    2. Notice of any changes or modifications to the OGC files, including the
16  *       date changes were made.
17  *
18  *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
19  *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
20  *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
21  *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
22  *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
23  *
24  *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
25  *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
26  *
27  *    The name and trademarks of copyright holders may NOT be used in advertising or
28  *    publicity pertaining to the software without specific, written prior permission.
29  *    Title to copyright in this software and any associated documentation will at all
30  *    times remain with copyright holders.
31  */
32 package org.opengis.parameter;
33 
34 import org.opengis.annotation.UML;
35 
36 import static org.opengis.annotation.Obligation.*;
37 import static org.opengis.annotation.Specification.*;
38 
39 
40 /**
41  * Abstract parameter value or group of parameter values.
42  *
43  * @author  Martin Desruisseaux (IRD)
44  * @author  Jody Garnett (Refractions Research)
45  * @version 3.0
46  * @since   1.0
47  *
48  * @see GeneralParameterDescriptor
49  *
50  * @navassoc 1 - - GeneralParameterDescriptor
51  */
52 @UML(identifier="CC_GeneralParameterValue", specification=ISO_19111)
53 public interface GeneralParameterValue {
54     /**
55      * Returns the abstract definition of this parameter or group of parameters.
56      *
57      * @return The abstract definition of this parameter or group of parameters.
58      */
59     @UML(identifier="parameter", obligation=MANDATORY, specification=ISO_19111)
getDescriptor()60     GeneralParameterDescriptor getDescriptor();
61 
62     /**
63      * Returns a copy of this parameter value or group.
64      *
65      * @return A copy of this parameter value or group.
66      */
clone()67     GeneralParameterValue clone();
68 }
69