Class AbstractTemporalFactory<T extends TemporalAccessor>
java.lang.Object
com.cedarsoftware.util.io.factory.AbstractTemporalFactory<T>
- All Implemented Interfaces:
JsonReader.ClassFactory
- Direct Known Subclasses:
LocalDateFactory
,LocalDateTimeFactory
,LocalTimeFactory
,OffsetDateTimeFactory
,OffsetTimeFactory
,YearFactory
,YearMonthFactory
,ZonedDateTimeFactory
public abstract class AbstractTemporalFactory<T extends TemporalAccessor>
extends Object
implements JsonReader.ClassFactory
Abstract class to help create temporal items.
All custom writers for json-io subclass this class. Special writers are not needed for handling user-defined classes. However, special writers are built/supplied by json-io for many of the primitive types and other JDK classes simply to allow for a more concise form.
- Author:
- Kenny Partlow ([email protected])
Copyright (c) Cedar Software LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract T
fromJsonObject
(JsonObject job) protected T
fromNumber
(Number l) protected abstract T
fromString
(String s) boolean
newInstance
(Class<?> c, JsonObject jObj) Implement this method to return a new instance of the passed in Class.
-
Field Details
-
dateTimeFormatter
-
-
Constructor Details
-
AbstractTemporalFactory
-
-
Method Details
-
newInstance
Description copied from interface:JsonReader.ClassFactory
Implement this method to return a new instance of the passed in Class. Use the passed in JsonObject to supply values to the construction of the object.- Specified by:
newInstance
in interfaceJsonReader.ClassFactory
- Parameters:
c
- Class of the object that needs to be createdjObj
- JsonObject (if primitive type do jObj.getPrimitiveValue();- Returns:
- a new instance of C. If you completely fill the new instance using the value(s) from object, and no further work is needed for construction, then override the isObjectFinal() method below and return true.
-
fromString
-
fromNumber
-
fromJsonObject
-
isObjectFinal
public boolean isObjectFinal()- Specified by:
isObjectFinal
in interfaceJsonReader.ClassFactory
- Returns:
- true if this object is instantiated and completely filled using the contents from the Object object [a JsonOject or value]. In this case, no further processing will be performed on the instance. If the object has sub-objects (complex fields), then return false so that the JsonReader will continue on filling out the remaining portion of the object.
-