/* * ----------------------------------------------------------------------- * Copyright © 2013-2015 Meno Hochschild, <http://www.menodata.de/> * ----------------------------------------------------------------------- * This file (CalendarType.java) is part of project Time4J. * * Time4J is free software: You can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 2.1 of the License, or * (at your option) any later version. * * Time4J is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Time4J. If not, see <http://www.gnu.org/licenses/>. * ----------------------------------------------------------------------- */ package net.time4j.format; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * <p>This {@code Annotation} can be used to mark all types of {@code ChronoEntity} * which need formatted representations and access to text resources dependent on * a calendar system. </p> * * @author Meno Hochschild * @see net.time4j.engine.ChronoEntity */ /*[deutsch] * <p>Mit dieser {@code Annotation} können alle {@code ChronoEntity}-Typen * ausgezeichnet werden, die formatierte Darstellungen erlauben und einen * Zugang zu chronologischen Textressourcen brauchen, die von einem * Kalendersystem abhängig sind. </p> * * @author Meno Hochschild * @see net.time4j.engine.ChronoEntity */ @Documented @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface CalendarType { //~ Methoden ---------------------------------------------------------- /** * <p>Determines the reference name for all text resources of a * calendar system. </p> * * <p>The name must not be unique, but has to be in agreement to the * conventions defined in CLDR if it exists there. The motivation of * the name is a localized access to calendar specific texts of eras, * months, quarters, weekdays and AM/PM. The CLDR file * <a href="http://unicode.org/repos/cldr/trunk/common/bcp47/calendar.xml" * target="_blank">calendar.xml</a> defines both names and aliases. * Alias names should be preferred in most cases. ISO systems usually * use the name "iso8601". </p> * * @return reference name for calendar specific text resources (usually * a name according to CLDR standard) */ /*[deutsch] * <p>Gibt einen Bezugsnamen für die Textressourcen eines * chronologischen Systems an. </p> * * <p>Der Name muß nicht eindeutig sein, aber den CLDR-Konventionen * genügen, falls in CLDR definiert. Sinn und Zweck des Namens ist * der Zugang zu kalendertypischen lokalisierten Bezeichnungen von * Äras, Monaten, Quartalen, Wochentagen und AM/PM. Die CLDR-Datei * <a href="http://unicode.org/repos/cldr/trunk/common/bcp47/calendar.xml" * target="_blank">calendar.xml</a> definiert Namen wie auch Alias-Namen. * Letzteren ist der Vorzug zu geben. ISO-Systeme verwenden in der Regel * den Namen "iso8601". </p> * * @return reference name for calendar specific text resources (usually * a name according to CLDR standard) */ String value(); }