Hi!

This is exactly what I was wondering... if there is a way to automate the 
default serializer injection, when the custom serializer gets detected.
I am also willing to contribute to the code, if I am provided some guidance.

BR, Zsolt

2017. március 20., hétfő 21:24:27 UTC+1 időpontban Tatu Saloranta a 
következőt írta:
>
> Good luck! That approach is used quite a lot so it should work fine. 
> Note, too, that it may be combined with ContextualSerializer if you do 
> need to access annotations. 
> In fact you can use `createContextual()` sometimes to simply decide if 
> override is needed at all; if not, return default serializer from that 
> method and you are good to go (but if so, remember to delegate call). 
>
> It would be great to find better ways to allow such "partial" 
> overrides, in a more convenient way. 
> But until then, Bean(De)SerializerModifier is the way to go. 
>
> -+ Tatu +- 
>
>
> On Mon, Mar 20, 2017 at 1:08 PM, Zsolt Balanyi <zsolt....@gmail.com 
> <javascript:>> wrote: 
> > Hi! 
> > 
> > OK, thanks, then I'll go that way! 
> > 
> > BR, Zsolt 
> > 
> > 2017. március 20., hétfő 20:13:25 UTC+1 időpontban Tatu Saloranta a 
> > következőt írta: 
> >> 
> >> This can not be done from annotation-based serializer: it will 
> >> override default logic. 
> >> The only way to access what would otherwise be created/used as the 
> >> standard serializer is to register `BeanSerializerModifier`, and 
> >> override handling of `modifySerializer`. 
> >> 
> >> -+ Tatu +- 
> >> 
> >> 
> >> On Mon, Mar 20, 2017 at 11:58 AM, Zsolt Balanyi <zsolt....@gmail.com> 
> >> wrote: 
> >> > Hi! 
> >> > 
> >> > What I meant is that I would like to get (or create ) the default 
> >> > Jackson 
> >> > Serializer for the object being serialized, and store as default. 
> >> > Then I could implement serialize as follows: 
> >> > 
> >> > @Override 
> >> > public void serialize(Object o, JsonGenerator jg, SerializerProvider 
> sp) 
> >> > throws IOException { 
> >> >   doMyStuff... 
> >> >   default.serialize(o, jg, sp); 
> >> > } 
> >> > 
> >> > The challenge here is that only a no-arg constructor is called for 
> the 
> >> > serializer if the serializer is used in annotation like this: 
> >> > @JsonSerialize(using = UIElementSerializer.class) 
> >> > 
> >> > BR, Zsolt 
> >> > 
> >> > 2017. március 20., hétfő 19:21:29 UTC+1 időpontban Tatu Saloranta a 
> >> > következőt írta: 
> >> >> 
> >> >> Not 100% sure I understand the question, but if you want to access 
> >> >> information about annotations on property, from your custom 
> >> >> serializer, you need to implement `ContextualSerializer`, and then 
> its 
> >> >> `createContextual()` gets called with `BeanProperty`. 
> >> >> `BeanProperty` has accessors for annotation directly; or, you can 
> then 
> >> >> call `AnnotationIntrospector` (accessible from `SerializerProvider` 
> >> >> that is also passed). 
> >> >> 
> >> >> -+ Tatu +- 
> >> >> 
> >> >> 
> >> >> On Mon, Mar 20, 2017 at 5:26 AM, Zsolt Balanyi <zsolt....@gmail.com> 
>
> >> >> wrote: 
> >> >> > Hi All! 
> >> >> > 
> >> >> > But what can I do when I want to use annotation, and I don't have 
> >> >> > access 
> >> >> > to 
> >> >> > the mapper? 
> >> >> > Eg: 
> >> >> > 
> >> >> > @JsonSerialize(using = ASerializer.class) 
> >> >> > public class AClass { 
> >> >> > ... 
> >> >> > } 
> >> >> > 
> >> >> > BR, Zsolt 
> >> >> > 
> >> >> > 2015. június 23., kedd 16:18:36 UTC+2 időpontban Tim Dudgeon a 
> >> >> > következőt 
> >> >> > írta: 
> >> >> >> 
> >> >> >> Hi, 
> >> >> >> 
> >> >> >> I'm writing a custom serialiizer, extending StdSerializer. 
> >> >> >> In the 
> >> >> >> public void serialize(MoleculeObject mo, JsonGenerator jg, 
> >> >> >> SerializerProvider sp) 
> >> >> >> method I need to be able to access the default json serialization 
> >> >> >> mechanism, but I don't see how to do this. 
> >> >> >> I can't call super.serialize() as its abstract, and using 
> >> >> >> JsonGenerator.writeObject() or 
> >> >> >> SerializerProvider.defaultSerializeValue() 
> >> >> >> end up calling my custom serialize() method and end up with stack 
> >> >> >> overflow. 
> >> >> >> 
> >> >> >> How should I be doing this? 
> >> >> >> 
> >> >> >> Tim 
> >> >> > 
> >> >> > -- 
> >> >> > You received this message because you are subscribed to the Google 
> >> >> > Groups 
> >> >> > "jackson-user" group. 
> >> >> > To unsubscribe from this group and stop receiving emails from it, 
> >> >> > send 
> >> >> > an 
> >> >> > email to jackson-user...@googlegroups.com. 
> >> >> > To post to this group, send email to jackso...@googlegroups.com. 
> >> >> > For more options, visit https://groups.google.com/d/optout. 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "jackson-user" group. 
> >> > To unsubscribe from this group and stop receiving emails from it, 
> send 
> >> > an 
> >> > email to jackson-user...@googlegroups.com. 
> >> > To post to this group, send email to jackso...@googlegroups.com. 
> >> > For more options, visit https://groups.google.com/d/optout. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "jackson-user" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to jackson-user...@googlegroups.com <javascript:>. 
> > To post to this group, send email to jackso...@googlegroups.com 
> <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jackson-user+unsubscr...@googlegroups.com.
To post to this group, send email to jackson-user@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to