@@ -49,20 +49,24 @@ public Total()
4949 */
5050 public Total (Number number ) {
5151 this .type = GridTotalType .NUMBER ;
52- if (number instanceof Byte )
53- this .number = Optional .of (BigDecimal .valueOf (number .longValue ()));
54- if (number instanceof Integer )
55- this .number = Optional .of (BigDecimal .valueOf (number .longValue ()));
56- if (number instanceof Long )
57- this .number = Optional .of (BigDecimal .valueOf (number .longValue ()));
58- if (number instanceof Float )
59- this .number = Optional .of (BigDecimal .valueOf (number .doubleValue ()));
60- if (number instanceof Double )
61- this .number = Optional .of (BigDecimal .valueOf ((double )number ));
62- if (number instanceof BigInteger )
63- this .number = Optional .of (new BigDecimal ((BigInteger ) number ));
64- if (number instanceof BigDecimal )
65- this .number = Optional .of ((BigDecimal )number );
52+
53+ Optional <Number > optionalNumber = Optional .ofNullable (number );
54+ if (! optionalNumber .isPresent ())
55+ this .number = Optional .empty ();
56+ else if (number instanceof Byte )
57+ this .number = Optional .ofNullable (BigDecimal .valueOf (number .longValue ()));
58+ else if (number instanceof Integer )
59+ this .number = Optional .ofNullable (BigDecimal .valueOf (number .longValue ()));
60+ else if (number instanceof Long )
61+ this .number = Optional .ofNullable (BigDecimal .valueOf (number .longValue ()));
62+ else if (number instanceof Float )
63+ this .number = Optional .ofNullable (BigDecimal .valueOf (number .doubleValue ()));
64+ else if (number instanceof Double )
65+ this .number = Optional .ofNullable (BigDecimal .valueOf ((double )number ));
66+ else if (number instanceof BigInteger )
67+ this .number = Optional .ofNullable (new BigDecimal ((BigInteger ) number ));
68+ else if (number instanceof BigDecimal )
69+ this .number = Optional .ofNullable ((BigDecimal )number );
6670 }
6771
6872 /**
@@ -72,7 +76,12 @@ public Total(Number number) {
7276 */
7377 public Total (java .sql .Date dateTime ) {
7478 this .type = GridTotalType .DATE_TIME ;
75- this .dateTime = Optional .of (dateTime .toInstant ());
79+
80+ Optional <java .sql .Date > optionalDateTime = Optional .ofNullable (dateTime );
81+ if (! optionalDateTime .isPresent ())
82+ this .dateTime = Optional .empty ();
83+ else
84+ this .dateTime = Optional .ofNullable (dateTime .toInstant ());
7685 }
7786
7887 /**
@@ -82,7 +91,12 @@ public Total(java.sql.Date dateTime) {
8291 */
8392 public Total (java .sql .Time time ) {
8493 this .type = GridTotalType .DATE_TIME ;
85- this .dateTime = Optional .of (time .toInstant ());
94+
95+ Optional <java .sql .Time > optionalDateTime = Optional .ofNullable (time );
96+ if (! optionalDateTime .isPresent ())
97+ this .dateTime = Optional .empty ();
98+ else
99+ this .dateTime = Optional .ofNullable (time .toInstant ());
86100 }
87101
88102 /**
@@ -92,7 +106,12 @@ public Total(java.sql.Time time) {
92106 */
93107 public Total (java .sql .Timestamp timeStamp ) {
94108 this .type = GridTotalType .DATE_TIME ;
95- this .dateTime = Optional .of (timeStamp .toInstant ());
109+
110+ Optional <java .sql .Timestamp > optionalDateTime = Optional .ofNullable (timeStamp );
111+ if (! optionalDateTime .isPresent ())
112+ this .dateTime = Optional .empty ();
113+ else
114+ this .dateTime = Optional .ofNullable (timeStamp .toInstant ());
96115 }
97116
98117 /**
@@ -102,7 +121,12 @@ public Total(java.sql.Timestamp timeStamp) {
102121 */
103122 public Total (java .util .Date date ) {
104123 this .type = GridTotalType .DATE_TIME ;
105- this .dateTime = Optional .of (date .toInstant ());
124+
125+ Optional <java .util .Date > optionalDateTime = Optional .ofNullable (date );
126+ if (! optionalDateTime .isPresent ())
127+ this .dateTime = Optional .empty ();
128+ else
129+ this .dateTime = Optional .ofNullable (date .toInstant ());
106130 }
107131
108132 /**
@@ -112,7 +136,12 @@ public Total(java.util.Date date) {
112136 */
113137 public Total (java .util .Calendar calendar ) {
114138 this .type = GridTotalType .DATE_TIME ;
115- this .dateTime = Optional .of (calendar .toInstant ());
139+
140+ Optional <java .util .Calendar > optionalDateTime = Optional .ofNullable (calendar );
141+ if (! optionalDateTime .isPresent ())
142+ this .dateTime = Optional .empty ();
143+ else
144+ this .dateTime = Optional .ofNullable (calendar .toInstant ());
116145 }
117146
118147 /**
@@ -123,7 +152,7 @@ public Total(java.util.Calendar calendar) {
123152 */
124153 public Total (java .time .Instant instant ) {
125154 this .type = GridTotalType .DATE_TIME ;
126- this .dateTime = Optional .of (instant );
155+ this .dateTime = Optional .ofNullable (instant );
127156 }
128157
129158 /**
@@ -133,7 +162,12 @@ public Total(java.time.Instant instant) {
133162 */
134163 public Total (LocalDate date ) {
135164 this .type = GridTotalType .DATE_TIME ;
136- this .dateTime = Optional .of (date .atStartOfDay ().toInstant (ZoneOffset .UTC ));
165+
166+ Optional <LocalDate > optionalDateTime = Optional .ofNullable (date );
167+ if (! optionalDateTime .isPresent ())
168+ this .dateTime = Optional .empty ();
169+ else
170+ this .dateTime = Optional .ofNullable (date .atStartOfDay ().toInstant (ZoneOffset .UTC ));
137171 }
138172
139173 /**
@@ -143,7 +177,12 @@ public Total(LocalDate date) {
143177 */
144178 public Total (LocalTime time ) {
145179 this .type = GridTotalType .DATE_TIME ;
146- this .dateTime = Optional .of (time .atDate (LocalDate .now ()).toInstant (ZoneOffset .UTC ));
180+
181+ Optional <LocalTime > optionalDateTime = Optional .ofNullable (time );
182+ if (! optionalDateTime .isPresent ())
183+ this .dateTime = Optional .empty ();
184+ else
185+ this .dateTime = Optional .ofNullable (time .atDate (LocalDate .now ()).toInstant (ZoneOffset .UTC ));
147186 }
148187
149188 /**
@@ -153,7 +192,12 @@ public Total(LocalTime time) {
153192 */
154193 public Total (LocalDateTime dateTime ) {
155194 this .type = GridTotalType .DATE_TIME ;
156- this .dateTime = Optional .of (dateTime .toInstant (ZoneOffset .UTC ));
195+
196+ Optional <LocalDateTime > optionalDateTime = Optional .ofNullable (dateTime );
197+ if (! optionalDateTime .isPresent ())
198+ this .dateTime = Optional .empty ();
199+ else
200+ this .dateTime = Optional .ofNullable (dateTime .toInstant (ZoneOffset .UTC ));
157201 }
158202
159203 /**
@@ -164,7 +208,12 @@ public Total(LocalDateTime dateTime) {
164208 */
165209 public Total (OffsetTime time ) {
166210 this .type = GridTotalType .DATE_TIME ;
167- this .dateTime = Optional .of (time .atDate (LocalDate .now ()).toInstant ());
211+
212+ Optional <OffsetTime > optionalDateTime = Optional .ofNullable (time );
213+ if (! optionalDateTime .isPresent ())
214+ this .dateTime = Optional .empty ();
215+ else
216+ this .dateTime = Optional .ofNullable (time .atDate (LocalDate .now ()).toInstant ());
168217 }
169218
170219 /**
@@ -174,7 +223,12 @@ public Total(OffsetTime time) {
174223 */
175224 public Total (OffsetDateTime dateTime ) {
176225 this .type = GridTotalType .DATE_TIME ;
177- this .dateTime = Optional .of (dateTime .toInstant ());
226+
227+ Optional <OffsetDateTime > optionalDateTime = Optional .ofNullable (dateTime );
228+ if (! optionalDateTime .isPresent ())
229+ this .dateTime = Optional .empty ();
230+ else
231+ this .dateTime = Optional .ofNullable (dateTime .toInstant ());
178232 }
179233
180234 /**
@@ -184,7 +238,12 @@ public Total(OffsetDateTime dateTime) {
184238 */
185239 public Total (ZonedDateTime dateTime ) {
186240 this .type = GridTotalType .DATE_TIME ;
187- this .dateTime = Optional .of (dateTime .toInstant ());
241+
242+ Optional <ZonedDateTime > optionalDateTime = Optional .ofNullable (dateTime );
243+ if (! optionalDateTime .isPresent ())
244+ this .dateTime = Optional .empty ();
245+ else
246+ this .dateTime = Optional .ofNullable (dateTime .toInstant ());
188247 }
189248
190249 /**
0 commit comments