1 package com.fasterxml.jackson.databind.jsonFormatVisitors; 2 3 import com.fasterxml.jackson.databind.JavaType; 4 import com.fasterxml.jackson.databind.JsonMappingException; 5 import com.fasterxml.jackson.databind.SerializerProvider; 6 7 public interface JsonArrayFormatVisitor extends JsonFormatVisitorWithSerializerProvider 8 { 9 /** 10 * Visit method called for structured types, as well as possibly 11 * for leaf types (especially if handled by custom serializers). 12 * 13 * @param handler Serializer used, to allow for further callbacks 14 * @param elementType Type of elements in JSON array value 15 */ itemsFormat(JsonFormatVisitable handler, JavaType elementType)16 void itemsFormat(JsonFormatVisitable handler, JavaType elementType) 17 throws JsonMappingException; 18 19 /** 20 * Visit method that is called if the content type is a simple 21 * scalar type like {@link JsonFormatTypes#STRING} (but not 22 * for structured types like {@link JsonFormatTypes#OBJECT} since 23 * they would be missing type information). 24 */ itemsFormat(JsonFormatTypes format)25 void itemsFormat(JsonFormatTypes format) 26 throws JsonMappingException; 27 28 /** 29 * Default "empty" implementation, useful as the base to start on; 30 * especially as it is guaranteed to implement all the method 31 * of the interface, even if new methods are getting added. 32 */ 33 public static class Base implements JsonArrayFormatVisitor { 34 protected SerializerProvider _provider; 35 Base()36 public Base() { } Base(SerializerProvider p)37 public Base(SerializerProvider p) { _provider = p; } 38 39 @Override getProvider()40 public SerializerProvider getProvider() { return _provider; } 41 42 @Override setProvider(SerializerProvider p)43 public void setProvider(SerializerProvider p) { _provider = p; } 44 45 @Override itemsFormat(JsonFormatVisitable handler, JavaType elementType)46 public void itemsFormat(JsonFormatVisitable handler, JavaType elementType) 47 throws JsonMappingException { } 48 49 @Override itemsFormat(JsonFormatTypes format)50 public void itemsFormat(JsonFormatTypes format) 51 throws JsonMappingException { } 52 } 53 54 } 55 56