blob: 617e777265ad1d4728a9dd0d01f8e6a8de71ad1f [file] [log] [blame]
package org.codehaus.jackson.map.ser.std;
import java.lang.reflect.Type;
import java.util.*;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.BeanProperty;
import org.codehaus.jackson.map.SerializerProvider;
import org.codehaus.jackson.node.ObjectNode;
/**
* Intermediate base class for Lists, Collections and Arrays
* that contain static (non-dynamic) value types.
*
* @since 1.7
*/
public abstract class StaticListSerializerBase<T extends Collection<?>>
extends SerializerBase<T>
{
/**
* Property that contains String List to serialize, if known.
*/
protected final BeanProperty _property;
protected StaticListSerializerBase(Class<?> cls, BeanProperty property)
{
super(cls, false);
_property = property;
}
@Override
public JsonNode getSchema(SerializerProvider provider, Type typeHint)
{
ObjectNode o = createSchemaNode("array", true);
o.put("items", contentSchema());
return o;
}
/*
/**********************************************************
/* Abstract methods for sub-classes to implement
/**********************************************************
*/
protected abstract JsonNode contentSchema();
}