protected BeanPropertyWriter _buildProperty(String name, JsonSerializer<Object> ser,
boolean defaultUseStaticTyping,
Annotated a, Method m, Field f)
{
Class<?> serializationType = findSerializationType(a, defaultUseStaticTyping);
Object suppValue = null;
boolean suppressNulls = false;
JsonSerialize.Inclusion methodProps = _annotationIntrospector.findSerializationInclusion(a, _outputProps);
if (methodProps != null) {
switch (methodProps) {
case NON_DEFAULT:
suppValue = getDefaultValue(name, m, f);
if (suppValue == null) {
suppressNulls = true;
}
break;
case NON_NULL:
suppressNulls = true;
break;
}
}
return new BeanPropertyWriter(name, ser, serializationType, m, f, suppressNulls, suppValue);
}