Statistics
| Revision:

root / org.gvsig.proj / branches / refactor2018 / org.gvsig.proj / org.gvsig.proj.catalog / org.gvsig.proj.catalog.api / src / main / java / org / gvsig / proj / catalogue / IdentifiedObject.java @ 793

History | View | Annotate | Download (4.71 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2018 gvSIG Association.
5
 * 
6
 * This file has been adapted from GeoAPI, see 
7
 * the original copyright headers bellow.
8
 *
9
 * This program is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU General Public License
11
 * as published by the Free Software Foundation; either version 2
12
 * of the License, or (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program; if not, write to the Free Software
21
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
22
 * MA  02110-1301, USA.
23
 *
24
 * For any additional information, do not hesitate to contact us
25
 * at info AT gvsig.com, or visit our website www.gvsig.com.
26
 * 
27
 * ----------
28
 * 
29
 *    GeoAPI - Java interfaces for OGC/ISO standards
30
 *    http://www.geoapi.org
31
 *
32
 *    Copyright (C) 2004-2017 Open Geospatial Consortium, Inc.
33
 *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
34
 *
35
 *    Permission to use, copy, and modify this software and its documentation, with
36
 *    or without modification, for any purpose and without fee or royalty is hereby
37
 *    granted, provided that you include the following on ALL copies of the software
38
 *    and documentation or portions thereof, including modifications, that you make:
39
 *
40
 *    1. The full text of this NOTICE in a location viewable to users of the
41
 *       redistributed or derivative work.
42
 *    2. Notice of any changes or modifications to the OGC files, including the
43
 *       date changes were made.
44
 *
45
 *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
46
 *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
47
 *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
48
 *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
49
 *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
50
 *
51
 *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
52
 *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
53
 *
54
 *    The name and trademarks of copyright holders may NOT be used in advertising or
55
 *    publicity pertaining to the software without specific, written prior permission.
56
 *    Title to copyright in this software and any associated documentation will at all
57
 *    times remain with copyright holders.
58
 */
59
package org.gvsig.proj.catalogue;
60

    
61
import java.util.Set;
62

    
63
public interface IdentifiedObject {
64
    /**
65
     * An identifier which references elsewhere the object's defining information.
66
     * Alternatively an identifier by which this object can be referenced.
67
     *
68
     * @return this object identifiers, or an empty collection if there is none.
69
     */
70
    Set<String> getIdentifiers();
71
    
72
    /**
73
     * Gets the identifier which was used to instantiate the object, or the
74
     * identifier that more closely matches the information used to instantiate
75
     * the object (e.g. in case of dialect differences)
76
     */
77
    String getIdentifier();
78
    
79

    
80
    /**
81
     * Comments on or information about this object, including data source information.
82
     *
83
     * @return the remarks, or {@code null} if none.
84
     */
85
    String getRemarks();
86
        
87
    /**
88
     * Returns a <cite>Well-Known Text</cite> (WKT) for this object.
89
     * Well-Known Texts (WKT) may come in two formats:
90
     *
91
     * <ul>
92
     *   <li>The current standard, WKT 2, is defined by ISO 19162.</li>
93
     *   <li>The legacy format, WKT 1, was defined by {@linkplain org.opengis.annotation.Specification#OGC_01009 OGC 01-009}
94
     *       and is shown using Extended Backus Naur Form (EBNF) <a href="doc-files/WKT.html">here</a>.</li>
95
     * </ul>
96
     *
97
     * Implementations are encouraged to format according the most recent standard.
98
     * This operation may fail if unsupported or if this instance contains elements that do not have
99
     * WKT representation.
100
     *
101
     * @return the Well-Known Text (WKT) for this object.
102
     * @throws UnsupportedOperationException if this object can not be formatted as WKT.
103
     *
104
     * @departure extension
105
     *   This method is not part of the OGC specification. It has been added in order to provide
106
     *   the converse of the <code>CRSFactory.createFromWKT(String)</code> method, which is
107
     *   defined in OGC 01-009.
108
     *
109
     * @see org.opengis.referencing.crs.CRSFactory#createFromWKT(String)
110
     */
111
        String toWKT() throws UnsupportedOperationException;
112
}