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.metadata.maintenance; 33 34 import java.util.Set; 35 import org.opengis.annotation.UML; 36 import org.opengis.feature.type.AttributeType; 37 import org.opengis.feature.type.FeatureType; 38 39 import static org.opengis.annotation.Obligation.*; 40 import static org.opengis.annotation.Specification.*; 41 42 43 /** 44 * Description of the class of information covered by the information. 45 * 46 * @author Martin Desruisseaux (IRD) 47 * @author Cory Horner (Refractions Research) 48 * @version 3.0 49 * @since 2.0 50 * 51 * @navassoc - - - AttributeType 52 * @navassoc - - - FeatureType 53 * @navassoc - - - AttributeType 54 */ 55 @UML(identifier="MD_ScopeDescription", specification=ISO_19115) 56 public interface ScopeDescription { 57 /** 58 * Attributes to which the information applies. 59 * 60 * @return Attributes to which the information applies. 61 * 62 * @condition Features, featureInstances, attributeInstances, dataset and other not 63 * documented. 64 */ 65 @UML(identifier="attributes", obligation=CONDITIONAL, specification=ISO_19115) getAttributes()66 Set<? extends AttributeType> getAttributes(); 67 68 /** 69 * Features to which the information applies. 70 * 71 * @return Features to which the information applies. 72 * 73 * @condition attributes, featureInstances, attributeInstances, dataset and other not 74 * documented. 75 */ 76 @UML(identifier="features", obligation=CONDITIONAL, specification=ISO_19115) getFeatures()77 Set<? extends FeatureType> getFeatures(); 78 79 /** 80 * Feature instances to which the information applies. 81 * 82 * @return Feature instances to which the information applies. 83 * 84 * @condition Attributes, features, attributeInstances, dataset and other not 85 * documented. 86 */ 87 @UML(identifier="featureInstances", obligation=CONDITIONAL, specification=ISO_19115) getFeatureInstances()88 Set<? extends FeatureType> getFeatureInstances(); 89 90 /** 91 * Attribute instances to which the information applies. 92 * 93 * @return Attribute instances to which the information applies. 94 * 95 * @since 2.1 96 * 97 * @condition Attributes, features, featureInstances, dataset and other not 98 * documented. 99 */ 100 @UML(identifier="attributeInstances", obligation=CONDITIONAL, specification=ISO_19115) getAttributeInstances()101 Set<? extends AttributeType> getAttributeInstances(); 102 103 /** 104 * Dataset to which the information applies. 105 * 106 * @return Dataset to which the information applies. 107 * 108 * @since 2.1 109 * 110 * @condition Attributes, features, featureInstances, attributeInstances and other not 111 * documented. 112 */ 113 @UML(identifier="dataset", obligation=CONDITIONAL, specification=ISO_19115) getDataset()114 String getDataset(); 115 116 /** 117 * Class of information that does not fall into the other categories to 118 * which the information applies. 119 * 120 * @return Class of information that does not fall into the other categories. 121 * 122 * @since 2.1 123 * 124 * @condition Attributes, features, featureInstances, attributeInstances and dataset not 125 * documented. 126 */ 127 @UML(identifier="other", obligation=CONDITIONAL, specification=ISO_19115) getOther()128 String getOther(); 129 } 130