T - generic type of time contextpublic static final class CalendarFamily.Builder<T extends CalendarVariant<T>> extends Chronology.Builder<T>
Creates a builder for a new calendar family and will only be used during loading a class of a calendar variant in a static initializer.
Instances of this class will be created by the static factory method setUp().
setUp(Class,ChronoMerger,Map)| Modifier and Type | Method and Description |
|---|---|
<V> CalendarFamily.Builder<T> |
appendElement(ChronoElement<V> element,
ElementRule<T,V> rule)
Registers a new element together with its associated
element rule.
|
CalendarFamily.Builder<T> |
appendExtension(ChronoExtension extension)
Registers a state extension which can create models with their
own state separated from standard time value context.
|
CalendarFamily<T> |
build()
Creates and registers a calendar family.
|
static <T extends CalendarVariant<T>> |
setUp(java.lang.Class<T> chronoType,
ChronoMerger<T> merger,
java.util.Map<java.lang.String,? extends CalendarSystem<T>> calendars)
Creates a builder for building a calendar family.
|
setUppublic static <T extends CalendarVariant<T>> CalendarFamily.Builder<T> setUp(java.lang.Class<T> chronoType, ChronoMerger<T> merger, java.util.Map<java.lang.String,? extends CalendarSystem<T>> calendars)
Creates a builder for building a calendar family.
T - generic type of time contextchronoType - reified chronological typemerger - generic replacement for static creation of variant objectscalendars - map of variant names to calendar systemsBuilder objectjava.lang.IllegalArgumentException - if no calendar system is specifiedpublic <V> CalendarFamily.Builder<T> appendElement(ChronoElement<V> element, ElementRule<T,V> rule)
Chronology.BuilderRegisters a new element together with its associated element rule.
appendElement in class Chronology.Builder<T extends CalendarVariant<T>>V - generic type of element valueelement - chronological element to be registeredrule - rule associated with the elementpublic CalendarFamily.Builder<T> appendExtension(ChronoExtension extension)
Chronology.BuilderRegisters a state extension which can create models with their own state separated from standard time value context.
appendExtension in class Chronology.Builder<T extends CalendarVariant<T>>extension - chronological extensionpublic CalendarFamily<T> build()
Creates and registers a calendar family.
build in class Chronology.Builder<T extends CalendarVariant<T>>java.lang.IllegalStateException - if already registered or in case of inconsistenciesChronology.lookup(Class)