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.
Author:
John DeRegnaucourt ([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

License

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.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
     
    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
    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.
    • hasPrimitiveForm

      default boolean hasPrimitiveForm(WriterContext context)
      Parameters:
      context - WriterContext to get writeOptions and other write access
      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

      default void writePrimitiveForm(Object o, Writer output, WriterContext context) throws IOException
      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 written
      output - 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.