com.fasterxml.jackson.databind.ser.std

## Class InetAddressSerializer

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializer<T>
  - - com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
    - - com.fasterxml.jackson.databind.ser.std.StdScalarSerializer<InetAddress>
      - - com.fasterxml.jackson.databind.ser.std.InetAddressSerializer

- All Implemented Interfaces:
    JsonFormatVisitable, SchemaAware, ContextualSerializer, Serializable

      public class InetAddressSerializer
      extends StdScalarSerializer<InetAddress>
      implements ContextualSerializer

  Simple serializer for `InetAddress`. Main complexity is with registration, since same serializer is to be used for sub-classes.

  Since 2.9 allows use of `JsonFormat` configuration (annotation, per-type defaulting) so that if `JsonFormat.Shape.NUMBER` (or `ARRAY`) is used, will serialize as "host address" (dotted numbers) instead of simple conversion.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer

      `JsonSerializer.None`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `_asNumeric`

    - ### Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      `_handledType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `InetAddressSerializer()`
    `InetAddressSerializer(boolean asNumeric)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `JsonSerializer<?>` | `createContextual(SerializerProvider serializers, BeanProperty property)` Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property.
    `void` | `serialize(InetAddress value, JsonGenerator g, SerializerProvider provider)` Method that can be called to ask implementation to serialize values of type this serializer handles.
    `void` | `serializeWithType(InetAddress value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)` Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix.

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdScalarSerializer

      `acceptJsonFormatVisitor, getSchema`

    - ### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

      `_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow`

    - ### Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

      `getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _asNumeric

          protected final boolean _asNumeric

      Since:
        2.9

  - ### Constructor Detail

    - #### InetAddressSerializer

          public InetAddressSerializer()

    - #### InetAddressSerializer

          public InetAddressSerializer(boolean asNumeric)

      Since:
        2.9

  - ### Method Detail

    - #### createContextual

          public JsonSerializer<?> createContextual(SerializerProvider serializers,
                                                    BeanProperty property)
                                             throws JsonMappingException

      Description copied from interface: `ContextualSerializer`
      Method called to see if a different (or differently configured) serializer is needed to serialize values of specified property. Note that instance that this method is called on is typically shared one and as a result method should NOT modify this instance but rather construct and return a new instance. This instance should only be returned as-is, in case it is already suitable for use.
      Specified by:
        `createContextual` in interface `ContextualSerializer`
      Parameters:
        `serializers` - Serializer provider to use for accessing config, other serializers
        `property` - Method or field that represents the property (and is used to access value to serialize). Should be available; but there may be cases where caller cannot provide it and null is passed instead (in which case impls usually pass 'this' serializer as is)
      Returns:
        Serializer to use for serializing values of specified property; may be this instance or a new instance.
      Throws:
        `JsonMappingException`

    - #### serialize

          public void serialize(InetAddress value,
                                JsonGenerator g,
                                SerializerProvider provider)
                         throws IOException

      Description copied from class: `JsonSerializer`
      Method that can be called to ask implementation to serialize values of type this serializer handles.
      Specified by:
        `serialize` in class `StdSerializer<InetAddress>`
      Parameters:
        `value` - Value to serialize; can not be null.
        `g` - Generator used to output resulting Json content
        `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
      Throws:
        `IOException`

    - #### serializeWithType

          public void serializeWithType(InetAddress value,
                                        JsonGenerator g,
                                        SerializerProvider provider,
                                        TypeSerializer typeSer)
                                 throws IOException

      Description copied from class: `StdScalarSerializer`
      Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix. This should work for most cases; some sub-classes may want to change this behavior.
      Overrides:
        `serializeWithType` in class `StdScalarSerializer<InetAddress>`
      Parameters:
        `value` - Value to serialize; can not be null.
        `g` - Generator used to output resulting Json content
        `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
        `typeSer` - Type serializer to use for including type information
      Throws:
        `IOException`

Copyright © 2008–2018 FasterXML. All rights reserved.