EMMA Coverage Report (generated Tue Oct 28 00:01:11 GMT 2008)
[all classes][org.joda.time]

COVERAGE SUMMARY FOR SOURCE FILE [DateTimeFieldType.java]

nameclass, %method, %block, %line, %
DateTimeFieldType.java100% (2/2)100% (33/33)100% (397/397)100% (110/110)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class DateTimeFieldType100% (1/1)100% (28/28)100% (248/248)100% (52/52)
<static initializer> 100% (1/1)100% (185/185)100% (23/23)
DateTimeFieldType (String): void 100% (1/1)100% (6/6)100% (3/3)
centuryOfEra (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
clockhourOfDay (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
clockhourOfHalfday (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
dayOfMonth (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
dayOfWeek (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
dayOfYear (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
era (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
getName (): String 100% (1/1)100% (3/3)100% (1/1)
halfdayOfDay (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
hourOfDay (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
hourOfHalfday (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
isSupported (Chronology): boolean 100% (1/1)100% (5/5)100% (1/1)
millisOfDay (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
millisOfSecond (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
minuteOfDay (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
minuteOfHour (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
monthOfYear (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
secondOfDay (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
secondOfMinute (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
toString (): String 100% (1/1)100% (3/3)100% (1/1)
weekOfWeekyear (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
weekyear (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
weekyearOfCentury (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
year (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
yearOfCentury (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
yearOfEra (): DateTimeFieldType 100% (1/1)100% (2/2)100% (1/1)
     
class DateTimeFieldType$StandardDateTimeFieldType100% (1/1)100% (5/5)100% (149/149)100% (58/58)
DateTimeFieldType$StandardDateTimeFieldType (String, byte, DurationFieldType,... 100% (1/1)100% (13/13)100% (5/5)
getDurationType (): DurationFieldType 100% (1/1)100% (3/3)100% (1/1)
getField (Chronology): DateTimeField 100% (1/1)100% (79/79)100% (26/26)
getRangeDurationType (): DurationFieldType 100% (1/1)100% (3/3)100% (1/1)
readResolve (): Object 100% (1/1)100% (51/51)100% (25/25)

1/*
2 *  Copyright 2001-2005 Stephen Colebourne
3 *
4 *  Licensed under the Apache License, Version 2.0 (the "License");
5 *  you may not use this file except in compliance with the License.
6 *  You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 *  Unless required by applicable law or agreed to in writing, software
11 *  distributed under the License is distributed on an "AS IS" BASIS,
12 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 *  See the License for the specific language governing permissions and
14 *  limitations under the License.
15 */
16package org.joda.time;
17 
18import java.io.Serializable;
19 
20/**
21 * Identifies a field, such as year or minuteOfHour, in a chronology-neutral way.
22 * <p>
23 * A field type defines the type of the field, such as hourOfDay.
24 * If does not directly enable any calculations, however it does provide a
25 * {@link #getField(Chronology)} method that returns the actual calculation engine
26 * for a particular chronology.
27 * It also provides access to the related {@link DurationFieldType}s.
28 * <p>
29 * Instances of <code>DateTimeFieldType</code> are singletons.
30 * They can be compared using <code>==</code>.
31 * <p>
32 * If required, you can create your own field, for example a quarterOfYear.
33 * You must create a subclass of <code>DateTimeFieldType</code> that defines the field type.
34 * This class returns the actual calculation engine from {@link #getField(Chronology)}.
35 *
36 * @author Stephen Colebourne
37 * @author Brian S O'Neill
38 * @since 1.0
39 */
40public abstract class DateTimeFieldType implements Serializable {
41 
42    /** Serialization version */
43    private static final long serialVersionUID = -42615285973990L;
44 
45    /** Ordinal values for standard field types. */
46    static final byte
47        ERA = 1,
48        YEAR_OF_ERA = 2,
49        CENTURY_OF_ERA = 3,
50        YEAR_OF_CENTURY = 4,
51        YEAR = 5,
52        DAY_OF_YEAR = 6,
53        MONTH_OF_YEAR = 7,
54        DAY_OF_MONTH = 8,
55        WEEKYEAR_OF_CENTURY = 9,
56        WEEKYEAR = 10,
57        WEEK_OF_WEEKYEAR = 11,
58        DAY_OF_WEEK = 12,
59        HALFDAY_OF_DAY = 13,
60        HOUR_OF_HALFDAY = 14,
61        CLOCKHOUR_OF_HALFDAY = 15,
62        CLOCKHOUR_OF_DAY = 16,
63        HOUR_OF_DAY = 17,
64        MINUTE_OF_DAY = 18,
65        MINUTE_OF_HOUR = 19,
66        SECOND_OF_DAY = 20,
67        SECOND_OF_MINUTE = 21,
68        MILLIS_OF_DAY = 22,
69        MILLIS_OF_SECOND = 23;
70 
71    /** The era field type. */
72    private static final DateTimeFieldType ERA_TYPE = new StandardDateTimeFieldType(
73        "era", ERA, DurationFieldType.eras(), null);
74    /** The yearOfEra field type. */
75    private static final DateTimeFieldType YEAR_OF_ERA_TYPE = new StandardDateTimeFieldType(
76        "yearOfEra", YEAR_OF_ERA, DurationFieldType.years(), DurationFieldType.eras());
77    /** The centuryOfEra field type. */
78    private static final DateTimeFieldType CENTURY_OF_ERA_TYPE = new StandardDateTimeFieldType(
79        "centuryOfEra", CENTURY_OF_ERA, DurationFieldType.centuries(), DurationFieldType.eras());
80    /** The yearOfCentury field type. */
81    private static final DateTimeFieldType YEAR_OF_CENTURY_TYPE = new StandardDateTimeFieldType(
82        "yearOfCentury", YEAR_OF_CENTURY, DurationFieldType.years(), DurationFieldType.centuries());
83    /** The year field type. */
84    private static final DateTimeFieldType YEAR_TYPE = new StandardDateTimeFieldType(
85        "year", YEAR, DurationFieldType.years(), null);
86    /** The dayOfYear field type. */
87    private static final DateTimeFieldType DAY_OF_YEAR_TYPE = new StandardDateTimeFieldType(
88        "dayOfYear", DAY_OF_YEAR, DurationFieldType.days(), DurationFieldType.years());
89    /** The monthOfYear field type. */
90    private static final DateTimeFieldType MONTH_OF_YEAR_TYPE = new StandardDateTimeFieldType(
91        "monthOfYear", MONTH_OF_YEAR, DurationFieldType.months(), DurationFieldType.years());
92    /** The dayOfMonth field type. */
93    private static final DateTimeFieldType DAY_OF_MONTH_TYPE = new StandardDateTimeFieldType(
94        "dayOfMonth", DAY_OF_MONTH, DurationFieldType.days(), DurationFieldType.months());
95    /** The weekyearOfCentury field type. */
96    private static final DateTimeFieldType WEEKYEAR_OF_CENTURY_TYPE = new StandardDateTimeFieldType(
97        "weekyearOfCentury", WEEKYEAR_OF_CENTURY, DurationFieldType.weekyears(), DurationFieldType.centuries());
98    /** The weekyear field type. */
99    private static final DateTimeFieldType WEEKYEAR_TYPE = new StandardDateTimeFieldType(
100        "weekyear", WEEKYEAR, DurationFieldType.weekyears(), null);
101    /** The weekOfWeekyear field type. */
102    private static final DateTimeFieldType WEEK_OF_WEEKYEAR_TYPE = new StandardDateTimeFieldType(
103        "weekOfWeekyear", WEEK_OF_WEEKYEAR, DurationFieldType.weeks(), DurationFieldType.weekyears());
104    /** The dayOfWeek field type. */
105    private static final DateTimeFieldType DAY_OF_WEEK_TYPE = new StandardDateTimeFieldType(
106        "dayOfWeek", DAY_OF_WEEK, DurationFieldType.days(), DurationFieldType.weeks());
107 
108    /** The halfday field type. */
109    private static final DateTimeFieldType HALFDAY_OF_DAY_TYPE = new StandardDateTimeFieldType(
110        "halfdayOfDay", HALFDAY_OF_DAY, DurationFieldType.halfdays(), DurationFieldType.days());
111    /** The hourOfHalfday field type. */
112    private static final DateTimeFieldType HOUR_OF_HALFDAY_TYPE = new StandardDateTimeFieldType(
113        "hourOfHalfday", HOUR_OF_HALFDAY, DurationFieldType.hours(), DurationFieldType.halfdays());
114    /** The clockhourOfHalfday field type. */
115    private static final DateTimeFieldType CLOCKHOUR_OF_HALFDAY_TYPE = new StandardDateTimeFieldType(
116        "clockhourOfHalfday", CLOCKHOUR_OF_HALFDAY, DurationFieldType.hours(), DurationFieldType.halfdays());
117    /** The clockhourOfDay field type. */
118    private static final DateTimeFieldType CLOCKHOUR_OF_DAY_TYPE = new StandardDateTimeFieldType(
119        "clockhourOfDay", CLOCKHOUR_OF_DAY, DurationFieldType.hours(), DurationFieldType.days());
120    /** The hourOfDay field type. */
121    private static final DateTimeFieldType HOUR_OF_DAY_TYPE = new StandardDateTimeFieldType(
122        "hourOfDay", HOUR_OF_DAY, DurationFieldType.hours(), DurationFieldType.days());
123    /** The minuteOfDay field type. */
124    private static final DateTimeFieldType MINUTE_OF_DAY_TYPE = new StandardDateTimeFieldType(
125        "minuteOfDay", MINUTE_OF_DAY, DurationFieldType.minutes(), DurationFieldType.days());
126    /** The minuteOfHour field type. */
127    private static final DateTimeFieldType MINUTE_OF_HOUR_TYPE = new StandardDateTimeFieldType(
128        "minuteOfHour", MINUTE_OF_HOUR, DurationFieldType.minutes(), DurationFieldType.hours());
129    /** The secondOfDay field type. */
130    private static final DateTimeFieldType SECOND_OF_DAY_TYPE = new StandardDateTimeFieldType(
131        "secondOfDay", SECOND_OF_DAY, DurationFieldType.seconds(), DurationFieldType.days());
132    /** The secondOfMinute field type. */
133    private static final DateTimeFieldType SECOND_OF_MINUTE_TYPE = new StandardDateTimeFieldType(
134        "secondOfMinute", SECOND_OF_MINUTE, DurationFieldType.seconds(), DurationFieldType.minutes());
135    /** The millisOfDay field type. */
136    private static final DateTimeFieldType MILLIS_OF_DAY_TYPE = new StandardDateTimeFieldType(
137        "millisOfDay", MILLIS_OF_DAY, DurationFieldType.millis(), DurationFieldType.days());
138    /** The millisOfSecond field type. */
139    private static final DateTimeFieldType MILLIS_OF_SECOND_TYPE = new StandardDateTimeFieldType(
140        "millisOfSecond", MILLIS_OF_SECOND, DurationFieldType.millis(), DurationFieldType.seconds());
141 
142    /** The name of the field. */
143    private final String iName;
144 
145    //-----------------------------------------------------------------------
146    /**
147     * Constructor.
148     * 
149     * @param name  the name to use
150     */
151    protected DateTimeFieldType(String name) {
152        super();
153        iName = name;
154    }
155 
156    //-----------------------------------------------------------------------
157    /**
158     * Get the millis of second field type.
159     * 
160     * @return the DateTimeFieldType constant
161     */
162    public static DateTimeFieldType millisOfSecond() {
163        return MILLIS_OF_SECOND_TYPE;
164    }
165 
166    /**
167     * Get the millis of day field type.
168     * 
169     * @return the DateTimeFieldType constant
170     */
171    public static DateTimeFieldType millisOfDay() {
172        return MILLIS_OF_DAY_TYPE;
173    }
174 
175    /**
176     * Get the second of minute field type.
177     * 
178     * @return the DateTimeFieldType constant
179     */
180    public static DateTimeFieldType secondOfMinute() {
181        return SECOND_OF_MINUTE_TYPE;
182    }
183 
184    /**
185     * Get the second of day field type.
186     * 
187     * @return the DateTimeFieldType constant
188     */
189    public static DateTimeFieldType secondOfDay() {
190        return SECOND_OF_DAY_TYPE;
191    }
192 
193    /**
194     * Get the minute of hour field type.
195     * 
196     * @return the DateTimeFieldType constant
197     */
198    public static DateTimeFieldType minuteOfHour() {
199        return MINUTE_OF_HOUR_TYPE;
200    }
201 
202    /**
203     * Get the minute of day field type.
204     * 
205     * @return the DateTimeFieldType constant
206     */
207    public static DateTimeFieldType minuteOfDay() {
208        return MINUTE_OF_DAY_TYPE;
209    }
210 
211    /**
212     * Get the hour of day (0-23) field type.
213     * 
214     * @return the DateTimeFieldType constant
215     */
216    public static DateTimeFieldType hourOfDay() {
217        return HOUR_OF_DAY_TYPE;
218    }
219 
220    /**
221     * Get the hour of day (offset to 1-24) field type.
222     * 
223     * @return the DateTimeFieldType constant
224     */
225    public static DateTimeFieldType clockhourOfDay() {
226        return CLOCKHOUR_OF_DAY_TYPE;
227    }
228 
229    /**
230     * Get the hour of am/pm (0-11) field type.
231     * 
232     * @return the DateTimeFieldType constant
233     */
234    public static DateTimeFieldType hourOfHalfday() {
235        return HOUR_OF_HALFDAY_TYPE;
236    }
237 
238    /**
239     * Get the hour of am/pm (offset to 1-12) field type.
240     * 
241     * @return the DateTimeFieldType constant
242     */
243    public static DateTimeFieldType clockhourOfHalfday() {
244        return CLOCKHOUR_OF_HALFDAY_TYPE;
245    }
246 
247    /**
248     * Get the AM(0) PM(1) field type.
249     * 
250     * @return the DateTimeFieldType constant
251     */
252    public static DateTimeFieldType halfdayOfDay() {
253        return HALFDAY_OF_DAY_TYPE;
254    }
255 
256    //-----------------------------------------------------------------------
257    /**
258     * Get the day of week field type.
259     * 
260     * @return the DateTimeFieldType constant
261     */
262    public static DateTimeFieldType dayOfWeek() {
263        return DAY_OF_WEEK_TYPE;
264    }
265 
266    /**
267     * Get the day of month field type.
268     * 
269     * @return the DateTimeFieldType constant
270     */
271    public static DateTimeFieldType dayOfMonth() {
272        return DAY_OF_MONTH_TYPE;
273    }
274 
275    /**
276     * Get the day of year field type.
277     * 
278     * @return the DateTimeFieldType constant
279     */
280    public static DateTimeFieldType dayOfYear() {
281        return DAY_OF_YEAR_TYPE;
282    }
283 
284    /**
285     * Get the week of a week based year field type.
286     * 
287     * @return the DateTimeFieldType constant
288     */
289    public static DateTimeFieldType weekOfWeekyear() {
290        return WEEK_OF_WEEKYEAR_TYPE;
291    }
292 
293    /**
294     * Get the year of a week based year field type.
295     * 
296     * @return the DateTimeFieldType constant
297     */
298    public static DateTimeFieldType weekyear() {
299        return WEEKYEAR_TYPE;
300    }
301 
302    /**
303     * Get the year of a week based year within a century field type.
304     * 
305     * @return the DateTimeFieldType constant
306     */
307    public static DateTimeFieldType weekyearOfCentury() {
308        return WEEKYEAR_OF_CENTURY_TYPE;
309    }
310 
311    /**
312     * Get the month of year field type.
313     * 
314     * @return the DateTimeFieldType constant
315     */
316    public static DateTimeFieldType monthOfYear() {
317        return MONTH_OF_YEAR_TYPE;
318    }
319 
320    /**
321     * Get the year field type.
322     * 
323     * @return the DateTimeFieldType constant
324     */
325    public static DateTimeFieldType year() {
326        return YEAR_TYPE;
327    }
328 
329    /**
330     * Get the year of era field type.
331     * 
332     * @return the DateTimeFieldType constant
333     */
334    public static DateTimeFieldType yearOfEra() {
335        return YEAR_OF_ERA_TYPE;
336    }
337 
338    /**
339     * Get the year of century field type.
340     * 
341     * @return the DateTimeFieldType constant
342     */
343    public static DateTimeFieldType yearOfCentury() {
344        return YEAR_OF_CENTURY_TYPE;
345    }
346 
347    /**
348     * Get the century of era field type.
349     * 
350     * @return the DateTimeFieldType constant
351     */
352    public static DateTimeFieldType centuryOfEra() {
353        return CENTURY_OF_ERA_TYPE;
354    }
355 
356    /**
357     * Get the era field type.
358     * 
359     * @return the DateTimeFieldType constant
360     */
361    public static DateTimeFieldType era() {
362        return ERA_TYPE;
363    }
364 
365    //-----------------------------------------------------------------------
366    /**
367     * Get the name of the field.
368     * <p>
369     * By convention, names follow a pattern of "dddOfRrr", where "ddd" represents
370     * the (singular) duration unit field name and "Rrr" represents the (singular)
371     * duration range field name. If the range field is not applicable, then
372     * the name of the field is simply the (singular) duration field name.
373     * 
374     * @return field name
375     */
376    public String getName() {
377        return iName;
378    }
379 
380    /**
381     * Get the duration unit of the field.
382     * 
383     * @return duration unit of the field, never null
384     */
385    public abstract DurationFieldType getDurationType();
386 
387    /**
388     * Get the duration range of the field.
389     * 
390     * @return duration range of the field, null if unbounded
391     */
392    public abstract DurationFieldType getRangeDurationType();
393 
394    /**
395     * Gets a suitable field for this type from the given Chronology.
396     *
397     * @param chronology  the chronology to use, null means ISOChronology in default zone
398     * @return a suitable field
399     */
400    public abstract DateTimeField getField(Chronology chronology);
401 
402    /**
403     * Checks whether this field supported in the given Chronology.
404     *
405     * @param chronology  the chronology to use, null means ISOChronology in default zone
406     * @return true if supported
407     */
408    public boolean isSupported(Chronology chronology) {
409        return getField(chronology).isSupported();
410    }
411 
412    /**
413     * Get a suitable debug string.
414     * 
415     * @return debug string
416     */
417    public String toString() {
418        return getName();
419    }
420 
421    private static class StandardDateTimeFieldType extends DateTimeFieldType {
422        /** Serialization version */
423        private static final long serialVersionUID = -9937958251642L;
424 
425        /** The ordinal of the standard field type, for switch statements */
426        private final byte iOrdinal;
427 
428        /** The unit duration of the field. */
429        private final transient DurationFieldType iUnitType;
430        /** The range duration of the field. */
431        private final transient DurationFieldType iRangeType;
432 
433        /**
434         * Constructor.
435         * 
436         * @param name  the name to use
437         * @param ordinal  the byte value for the oridinal index
438         * @param unitType  the unit duration type
439         * @param rangeType  the range duration type
440         */
441        StandardDateTimeFieldType(String name, byte ordinal,
442                                  DurationFieldType unitType, DurationFieldType rangeType) {
443            super(name);
444            iOrdinal = ordinal;
445            iUnitType = unitType;
446            iRangeType = rangeType;
447        }
448 
449        /** @inheritdoc */
450        public DurationFieldType getDurationType() {
451            return iUnitType;
452        }
453 
454        /** @inheritdoc */
455        public DurationFieldType getRangeDurationType() {
456            return iRangeType;
457        }
458 
459        /** @inheritdoc */
460        public DateTimeField getField(Chronology chronology) {
461            chronology = DateTimeUtils.getChronology(chronology);
462 
463            switch (iOrdinal) {
464                case ERA:
465                    return chronology.era();
466                case YEAR_OF_ERA:
467                    return chronology.yearOfEra();
468                case CENTURY_OF_ERA:
469                    return chronology.centuryOfEra();
470                case YEAR_OF_CENTURY:
471                    return chronology.yearOfCentury();
472                case YEAR:
473                    return chronology.year();
474                case DAY_OF_YEAR:
475                    return chronology.dayOfYear();
476                case MONTH_OF_YEAR:
477                    return chronology.monthOfYear();
478                case DAY_OF_MONTH:
479                    return chronology.dayOfMonth();
480                case WEEKYEAR_OF_CENTURY:
481                    return chronology.weekyearOfCentury();
482                case WEEKYEAR:
483                    return chronology.weekyear();
484                case WEEK_OF_WEEKYEAR:
485                    return chronology.weekOfWeekyear();
486                case DAY_OF_WEEK:
487                    return chronology.dayOfWeek();
488                case HALFDAY_OF_DAY:
489                    return chronology.halfdayOfDay();
490                case HOUR_OF_HALFDAY:
491                    return chronology.hourOfHalfday();
492                case CLOCKHOUR_OF_HALFDAY:
493                    return chronology.clockhourOfHalfday();
494                case CLOCKHOUR_OF_DAY:
495                    return chronology.clockhourOfDay();
496                case HOUR_OF_DAY:
497                    return chronology.hourOfDay();
498                case MINUTE_OF_DAY:
499                    return chronology.minuteOfDay();
500                case MINUTE_OF_HOUR:
501                    return chronology.minuteOfHour();
502                case SECOND_OF_DAY:
503                    return chronology.secondOfDay();
504                case SECOND_OF_MINUTE:
505                    return chronology.secondOfMinute();
506                case MILLIS_OF_DAY:
507                    return chronology.millisOfDay();
508                case MILLIS_OF_SECOND:
509                    return chronology.millisOfSecond();
510                default:
511                    // Shouldn't happen.
512                    throw new InternalError();
513            }
514        }
515 
516        /**
517         * Ensure a singleton is returned.
518         * 
519         * @return the singleton type
520         */
521        private Object readResolve() {
522            switch (iOrdinal) {
523                case ERA:
524                    return ERA_TYPE;
525                case YEAR_OF_ERA:
526                    return YEAR_OF_ERA_TYPE;
527                case CENTURY_OF_ERA:
528                    return CENTURY_OF_ERA_TYPE;
529                case YEAR_OF_CENTURY:
530                    return YEAR_OF_CENTURY_TYPE;
531                case YEAR:
532                    return YEAR_TYPE;
533                case DAY_OF_YEAR:
534                    return DAY_OF_YEAR_TYPE;
535                case MONTH_OF_YEAR:
536                    return MONTH_OF_YEAR_TYPE;
537                case DAY_OF_MONTH:
538                    return DAY_OF_MONTH_TYPE;
539                case WEEKYEAR_OF_CENTURY:
540                    return WEEKYEAR_OF_CENTURY_TYPE;
541                case WEEKYEAR:
542                    return WEEKYEAR_TYPE;
543                case WEEK_OF_WEEKYEAR:
544                    return WEEK_OF_WEEKYEAR_TYPE;
545                case DAY_OF_WEEK:
546                    return DAY_OF_WEEK_TYPE;
547                case HALFDAY_OF_DAY:
548                    return HALFDAY_OF_DAY_TYPE;
549                case HOUR_OF_HALFDAY:
550                    return HOUR_OF_HALFDAY_TYPE;
551                case CLOCKHOUR_OF_HALFDAY:
552                    return CLOCKHOUR_OF_HALFDAY_TYPE;
553                case CLOCKHOUR_OF_DAY:
554                    return CLOCKHOUR_OF_DAY_TYPE;
555                case HOUR_OF_DAY:
556                    return HOUR_OF_DAY_TYPE;
557                case MINUTE_OF_DAY:
558                    return MINUTE_OF_DAY_TYPE;
559                case MINUTE_OF_HOUR:
560                    return MINUTE_OF_HOUR_TYPE;
561                case SECOND_OF_DAY:
562                    return SECOND_OF_DAY_TYPE;
563                case SECOND_OF_MINUTE:
564                    return SECOND_OF_MINUTE_TYPE;
565                case MILLIS_OF_DAY:
566                    return MILLIS_OF_DAY_TYPE;
567                case MILLIS_OF_SECOND:
568                    return MILLIS_OF_SECOND_TYPE;
569                default:
570                    // Shouldn't happen.
571                    return this;
572            }
573        }
574    }
575 
576}

[all classes][org.joda.time]
EMMA 2.0.5312 (C) Vladimir Roubtsov