public static BeanPropertyWriter constructViewBased(BeanPropertyWriter base, Class<?>[] viewsToIncludeIn) { if (viewsToIncludeIn.length == 1) { return new SingleView(base, viewsToIncludeIn[0]); } return new MultiView(base, viewsToIncludeIn); }
@Override public BeanPropertyWriter withSerializer(JsonSerializer<Object> ser) { return new MultiView(_delegate.withSerializer(ser), _views); }
@Override public BeanPropertyWriter withSerializer(JsonSerializer<Object> ser) { return new SingleView(_delegate.withSerializer(ser), _view); }
@Override public boolean hasSerializerFor(SerializationConfig config, Class<?> cls, SerializerFactory jsf) { return createInstance(config, jsf)._findExplicitUntypedSerializer(cls, null) != null; }
@Override @SuppressWarnings("unchecked") public JsonSerializer<Object> createSerializer(SerializationConfig config, JavaType type, BeanProperty property) throws JsonMappingException { JsonSerializer<?> ser = findCustomSerializer(type.getRawClass(), config); if (ser != null) { return (JsonSerializer<Object>) ser; } return super.createSerializer(config, type, property); }
/** * Overridable method, used to create a non-blueprint instances from the blueprint. * This is needed to retain state during serialization. */ protected StdSerializerProvider createInstance(SerializationConfig config, SerializerFactory jsf) { return new StdSerializerProvider(config, this, jsf); }
/** * Method for constructing dummy bean deserializer; one that * never outputs any properties */ public static BeanSerializer createDummy(Class<?> forType) { return new BeanSerializer(forType, NO_PROPS, null, null, null); }
protected PropertyBuilder constructPropertyBuilder(SerializationConfig config, BasicBeanDescription beanDesc) { return new PropertyBuilder(config, beanDesc); }
/** * Method called to construct a filtered writer, for given view * definitions. Default implementation constructs filter that checks * active view type to views property is to be included in. */ protected BeanPropertyWriter constructFilteredBeanWriter(BeanPropertyWriter writer, Class<?>[] inViews) { return FilteredBeanPropertyWriter.constructViewBased(writer, inViews); }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { //todo: (ryan) add a format for the date in the schema? return createSchemaNode("string", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { /*(ryan) it may not, in fact, be optional, but there's no way * to tell whether we're referencing a boolean or java.lang.Boolean. */ /* 27-Jun-2009, tatu: Now we can tell, after passing * 'forPrimitive' flag... */ return createSchemaNode("boolean", !_forPrimitive); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("integer", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("number", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("string", true); } }
/** * Constructor for creating instances with specified configuration. */ protected BeanSerializerFactory(Config config) { if (config == null) { config = new ConfigImpl(); } _factoryConfig = config; }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("integer", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("number", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("number", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("string", true); } }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { return createSchemaNode("number", true); } }