81 *
82 * <p>Also, division of a duration by a number is not provided because
83 * the {@link Duration} class can only deal with finite precision
84 * decimal numbers. For example, one cannot represent 1 sec divided by 3.</p>
85 *
86 * <p>However, you could substitute a division by 3 with multiplying
87 * by numbers such as 0.3 or 0.333.</p>
88 *
89 *
90 *
91 * <h2>Range of allowed values</h2>
92 * <p>
93 * Because some operations of {@link Duration} rely on {@link Calendar}
94 * even though {@link Duration} can hold very large or very small values,
95 * some of the methods may not work correctly on such {@link Duration}s.
96 * The impacted methods document their dependency on {@link Calendar}.
97 *
98 *
99 * @author <a href="mailto:Kohsuke.Kawaguchi@Sun.com">Kohsuke Kawaguchi</a>
100 * @author <a href="mailto:Joseph.Fialli@Sun.com">Joseph Fialli</a>
101 * @version $Revision: 1.8 $, $Date: 2010/05/19 23:20:06 $
102
103 * @see XMLGregorianCalendar#add(Duration)
104 */
105 class DurationImpl
106 extends Duration
107 implements Serializable {
108
109 /**
110 * <p>Number of Fields.</p>
111 */
112 private static final int FIELD_NUM = 6;
113
114 /**
115 * <p>Internal array of value Fields.</p>
116 */
117 private static final DatatypeConstants.Field[] FIELDS = new DatatypeConstants.Field[]{
118 DatatypeConstants.YEARS,
119 DatatypeConstants.MONTHS,
120 DatatypeConstants.DAYS,
121 DatatypeConstants.HOURS,
|
81 *
82 * <p>Also, division of a duration by a number is not provided because
83 * the {@link Duration} class can only deal with finite precision
84 * decimal numbers. For example, one cannot represent 1 sec divided by 3.</p>
85 *
86 * <p>However, you could substitute a division by 3 with multiplying
87 * by numbers such as 0.3 or 0.333.</p>
88 *
89 *
90 *
91 * <h2>Range of allowed values</h2>
92 * <p>
93 * Because some operations of {@link Duration} rely on {@link Calendar}
94 * even though {@link Duration} can hold very large or very small values,
95 * some of the methods may not work correctly on such {@link Duration}s.
96 * The impacted methods document their dependency on {@link Calendar}.
97 *
98 *
99 * @author <a href="mailto:Kohsuke.Kawaguchi@Sun.com">Kohsuke Kawaguchi</a>
100 * @author <a href="mailto:Joseph.Fialli@Sun.com">Joseph Fialli</a>
101
102 * @see XMLGregorianCalendar#add(Duration)
103 */
104 class DurationImpl
105 extends Duration
106 implements Serializable {
107
108 /**
109 * <p>Number of Fields.</p>
110 */
111 private static final int FIELD_NUM = 6;
112
113 /**
114 * <p>Internal array of value Fields.</p>
115 */
116 private static final DatatypeConstants.Field[] FIELDS = new DatatypeConstants.Field[]{
117 DatatypeConstants.YEARS,
118 DatatypeConstants.MONTHS,
119 DatatypeConstants.DAYS,
120 DatatypeConstants.HOURS,
|