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
`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
`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`