/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2011, Open Source Geospatial Foundation (OSGeo) * (C) 2005, Open Geospatial Consortium Inc. * * All Rights Reserved. http://www.opengis.org/legal/ */ package org.opengis.temporal; import java.util.Collection; import org.opengis.util.InternationalString; import org.opengis.annotation.UML; import static org.opengis.annotation.Obligation.*; import static org.opengis.annotation.Specification.*; /** * A discrete temporal reference system that provides a * basis for defining temporal position to a resolution of one day. * * @author Alexander Petkov * * @source $URL: http://svn.osgeo.org/geotools/trunk/modules/library/opengis/src/main/java/org/opengis/temporal/Calendar.java $ */ @UML(identifier="TM_Calendar", specification=ISO_19108) public interface Calendar extends TemporalReferenceSystem { /** * Converts a {@linkplain CalendarDate date} in this calendar to a * {@linkplain JulianDate julian date}. */ @UML(identifier="dateTrans", obligation=MANDATORY, specification=ISO_19108) JulianDate dateTrans(CalendarDate date, ClockTime time); /** * Converts a {@linkplain JulianDate julian date} to a {@linkplain CalendarDate date} * in this calendar. */ @UML(identifier="julTrans", obligation=MANDATORY, specification=ISO_19108) CalendarDate julTrans(JulianDate julian); /** * links this calendar to the {@linkplain CalendarEra calendar eras} * that it uses as a reference for dating. * * @todo The original version of this class returned {@code TemporalCalendarEra}, which * doesn't exists in the provided sources. I assumed that it was a typo and that * the actual class was {@link CalendarEra}. */ @UML(identifier="Basis", specification=ISO_19108) Collection<CalendarEra> getBasis(); /** * Links this calendar to the {@linkplain Clock clock} that is used for specifying * temporal positions within the smallest calendar interval. * * @todo Method name doesn't match the UML identifier. */ @UML(identifier="Resolution", specification=ISO_19108) Clock getClock(); }