Skip to content

Instantly share code, notes, and snippets.

@volgar1x
Created November 11, 2013 00:38
Show Gist options
  • Save volgar1x/7405966 to your computer and use it in GitHub Desktop.
Save volgar1x/7405966 to your computer and use it in GitHub Desktop.
package org.photon;
import com.fasterxml.jackson.core.Version;
import com.fasterxml.jackson.databind.AnnotationIntrospector;
import com.fasterxml.jackson.databind.introspect.Annotated;
import com.fasterxml.jackson.databind.introspect.AnnotatedMember;
public class FlatJsonIntrospector extends AnnotationIntrospector {
@Override
public Version version() {
return FlatJsonModule.VERSION;
}
@Override
public Object findSerializer(Annotated am) {
Object serializer = super.findSerializer(am);
if (serializer == null) {
if (am.hasAnnotation(ManyToOne.class)) {
serializer = Serializers.ManyToOne.class;
} else if (am.hasAnnotation(OneToMany.class)) {
serializer = Serializers.OneToMany.class;
}
}
return serializer;
}
@Override
public Object findDeserializer(Annotated am) {
Object deserializer = super.findSerializer(am);
if (deserializer == null) {
if (am.hasAnnotation(ManyToOne.class)) {
deserializer = new Deserializers.ManyToOne((AnnotatedMember) am);
} else if (am.hasAnnotation(OneToMany.class)) {
deserializer = new Deserializers.OneToMany((AnnotatedMember) am);
}
}
return deserializer;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment