001/* 002 * GeoAPI - Java interfaces for OGC/ISO standards 003 * Copyright © 2009-2023 Open Geospatial Consortium, Inc. 004 * http://www.geoapi.org 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.opengis.metadata.acquisition; 019 020import java.util.Collection; 021import java.util.Collections; 022 023import org.opengis.annotation.UML; 024import org.opengis.geometry.Geometry; 025import org.opengis.metadata.Identifier; 026 027import static org.opengis.annotation.Obligation.*; 028import static org.opengis.annotation.Specification.*; 029 030 031/** 032 * Identification of collection coverage. 033 * 034 * @author Cédric Briançon (Geomatys) 035 * @version 3.1 036 * @since 2.3 037 */ 038@UML(identifier="MI_PlatformPass", specification=ISO_19115_2) 039public interface PlatformPass { 040 /** 041 * Unique name of the pass. 042 * 043 * @return unique name of the pass. 044 */ 045 @UML(identifier="identifier", obligation=MANDATORY, specification=ISO_19115_2) 046 Identifier getIdentifier(); 047 048 /** 049 * Area covered by the pass. 050 * 051 * @return area covered by the pass, or {@code null}. 052 */ 053 @UML(identifier="extent", obligation=OPTIONAL, specification=ISO_19115_2) 054 default Geometry getExtent() { 055 return null; 056 } 057 058 /** 059 * Occurrence of one or more events for a pass. 060 * 061 * @return occurrence of one or more events for a pass. 062 */ 063 @UML(identifier="relatedEvent", obligation=OPTIONAL, specification=ISO_19115_2) 064 default Collection<? extends Event> getRelatedEvents() { 065 return Collections.emptyList(); 066 } 067}