Package com.cedarsoftware.util.io
Interface JsonWriter.JsonClassWriter
- All Known Implementing Classes:
ByteArrayWriter
,DurationWriter
,InstantWriter
,LongWriter
,PeriodWriter
,Writers.BigDecimalWriter
,Writers.BigIntegerWriter
,Writers.CalendarWriter
,Writers.CharacterWriter
,Writers.ClassWriter
,Writers.DateAsLongWriter
,Writers.DateWriter
,Writers.DoubleWriter
,Writers.EnumsAsStringWriter
,Writers.FloatingPointWriter
,Writers.FloatWriter
,Writers.JsonStringWriter
,Writers.LocalDateAsLong
,Writers.LocalDateTimeWriter
,Writers.LocalDateWriter
,Writers.LocaleWriter
,Writers.LocalTimeWriter
,Writers.MonthDayWriter
,Writers.OffsetDateTimeWriter
,Writers.OffsetTimeWriter
,Writers.PrimitiveBasicStringWriter
,Writers.PrimitiveTypeWriter
,Writers.PrimitiveUtf8StringWriter
,Writers.PrimitiveValueWriter
,Writers.TemporalWriter
,Writers.TimestampWriter
,Writers.TimeZoneWriter
,Writers.UUIDWriter
,Writers.YearMonthWriter
,Writers.YearWriter
,Writers.ZonedDateTimeWriter
,ZoneIdWriter
,ZoneOffsetWriter
- Enclosing class:
- JsonWriter
public static interface JsonWriter.JsonClassWriter
Implement this interface to customize the JSON output for a given class.
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
default boolean
hasPrimitiveForm
(WriterContext context) default void
When write() is called, it is expected that subclasses will write the appropriate JSON to the passed in Writer.default void
write
(Object o, boolean showType, Writer output, WriterContext context) When write() is called, it is expected that subclasses will write the appropriate JSON to the passed in Writer.default void
writePrimitiveForm
(Object o, Writer output) This method will be called to write the item in primitive form (if the response to hasPrimitiveForm() was true).default void
writePrimitiveForm
(Object o, Writer output, WriterContext context) This default implementation will call the more basic writePrimitiveForm that does not take arguments.
-
Method Details
-
write
default void write(Object o, boolean showType, Writer output, WriterContext context) throws IOException When write() is called, it is expected that subclasses will write the appropriate JSON to the passed in Writer.- Parameters:
o
- Object to be written in JSON format.showType
- boolean indicating whether to show @type.output
- Writer destination to where the actual JSON is written.context
- WriterContext to get writeOptions and other write access- Throws:
IOException
- if thrown by the writer. Will be caught at a higher level and wrapped in JsonIoException.
-
write
When write() is called, it is expected that subclasses will write the appropriate JSON to the passed in Writer.- Parameters:
o
- Object to be written in JSON format.showType
- boolean indicating whether to show @type.output
- Writer destination to where the actual JSON is written.- Throws:
IOException
- if thrown by the writer. Will be caught at a higher level and wrapped in JsonIoException.
-
hasPrimitiveForm
- Returns:
- boolean true if the class being written has a primitive (non-object) form. Default is false since most custom writers will not have a primitive form.
-
hasPrimitiveForm
default boolean hasPrimitiveForm()- Returns:
- boolean true if the class being written has a primitive (non-object) form. Default is false since most custom writers will not have a primitive form.
-
writePrimitiveForm
This default implementation will call the more basic writePrimitiveForm that does not take arguments. No need to override this method unless you need access to the args.- Parameters:
o
- Object to be writtenoutput
- Writer destination to where the actual JSON is written.context
- WriterContext to get access to writeOptions and writing tools- Throws:
IOException
- if thrown by the writer. Will be caught at a higher level and wrapped in JsonIoException.
-
writePrimitiveForm
This method will be called to write the item in primitive form (if the response to hasPrimitiveForm() was true). Override this method if you have a primitive form and need to access the arguments that kicked off the JsonWriter.- Parameters:
o
- Object to be writtenoutput
- Writer destination to where the actual JSON is written.- Throws:
IOException
- if thrown by the writer. Will be caught at a higher level and wrapped in JsonIoException.
-