List of usage examples for com.fasterxml.jackson.databind.ser BeanSerializerModifier BeanSerializerModifier
BeanSerializerModifier
From source file:com.netflix.discovery.converters.jackson.EurekaJacksonXmlModifiers.java
public static BeanSerializerModifier createXmlSerializerModifier(final KeyFormatter keyFormatter) { return new BeanSerializerModifier() { @Override//from ww w . jav a 2 s. co m public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (beanDesc.getBeanClass().isAssignableFrom(Applications.class)) { return new ApplicationsXmlBeanSerializer((BeanSerializerBase) serializer, keyFormatter); } if (beanDesc.getBeanClass().isAssignableFrom(InstanceInfo.class)) { return new InstanceInfoXmlBeanSerializer((BeanSerializerBase) serializer); } return serializer; } }; }
From source file:com.microsoft.rest.serializer.FlatteningSerializer.java
/** * Gets a module wrapping this serializer as an adapter for the Jackson * ObjectMapper.//from w ww .java 2 s . c o m * * @param mapper the object mapper for default serializations * @return a simple module to be plugged onto Jackson ObjectMapper. */ public static SimpleModule getModule(final ObjectMapper mapper) { SimpleModule module = new SimpleModule(); module.setSerializerModifier(new BeanSerializerModifier() { @Override public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (beanDesc.getBeanClass().getAnnotation(JsonFlatten.class) != null) { return new FlatteningSerializer(beanDesc.getBeanClass(), serializer, mapper); } return serializer; } }); return module; }
From source file:org.xlrnet.metadict.web.jackson.MetadictModule.java
@Override public void setupModule(SetupContext context) { super.setupModule(context); context.addBeanSerializerModifier(new BeanSerializerModifier() { public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (serializer instanceof BeanSerializerBase) { return new DictionaryObjectSerializer((BeanSerializerBase) serializer); }/*from ww w . j av a2s .c o m*/ return serializer; } }); }
From source file:de.escalon.hypermedia.spring.de.escalon.hypermedia.spring.jackson.JacksonHydraModule.java
public void setupModule(SetupContext context) { super.setupModule(context); context.addBeanSerializerModifier(new BeanSerializerModifier() { public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (serializer instanceof BeanSerializerBase) { return new JacksonHydraSerializer((BeanSerializerBase) serializer); } else { return serializer; }/*www.j ava 2 s . co m*/ } }); }
From source file:de.ks.flatadocdb.defaults.json.SerializationModule.java
@Override public void setupModule(SetupContext context) { context.addBeanSerializerModifier(new BeanSerializerModifier() { @Override//from w w w .j av a2 s .c om public List<BeanPropertyWriter> changeProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties) { if (metaModel.isRegistered(beanDesc.getBeanClass())) { EntityDescriptor entityDescriptor = metaModel.getEntityDescriptor(beanDesc.getBeanClass()); List<BeanPropertyWriter> relationProperties = beanProperties.stream()// .filter(p -> entityDescriptor.isRelation(p.getMember())).collect(Collectors.toList()); List<BeanPropertyWriter> repoPathProperty = beanProperties.stream()// .filter(p -> p.getAnnotation(PathInRepository.class) != null) .collect(Collectors.toList()); ArrayList<BeanPropertyWriter> all = new ArrayList<>(beanProperties); log.trace("Removing {} relation properties fron {}: {}", relationProperties.size(), beanDesc.getBeanClass(), relationProperties); all.removeAll(relationProperties); all.removeAll(repoPathProperty); relationProperties.stream().map(old -> new RelationCollectionPropertyWriter(old, metaModel)) .forEach(all::add); return all; } else { return beanProperties; } } }); context.addBeanDeserializerModifier(new BeanDeserializerModifier() { @Override public List<BeanPropertyDefinition> updateProperties(DeserializationConfig config, BeanDescription beanDesc, List<BeanPropertyDefinition> propDefs) { if (metaModel.isRegistered(beanDesc.getBeanClass())) { EntityDescriptor entityDescriptor = metaModel.getEntityDescriptor(beanDesc.getBeanClass()); return propDefs.stream()// .filter(p -> !entityDescriptor.isRelation(p.getPrimaryMember()))// .filter(p -> p.getPrimaryMember().getAnnotation(PathInRepository.class) == null)// .collect(Collectors.toList()); } else { return propDefs; } } }); }
From source file:de.escalon.hypermedia.hydra.serialize.JacksonHydraSerializerTest.java
@Before public void setUp() { mapper = new ObjectMapper(); // see https://github.com/json-ld/json-ld.org/issues/76 mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); mapper.registerModule(new SimpleModule() { public void setupModule(SetupContext context) { super.setupModule(context); context.addBeanSerializerModifier(new BeanSerializerModifier() { public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (serializer instanceof BeanSerializerBase) { return new JacksonHydraSerializer((BeanSerializerBase) serializer); } else { return serializer; }//w ww .ja v a 2 s . com } }); } }); }
From source file:com.samlikescode.stackoverflow.questions.q28255878.CustomIndentationModule.java
public CustomIndentationModule() { super(NAME);// w w w. j a v a 2s .c o m setSerializerModifier(new BeanSerializerModifier() { @Override public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { return super.modifySerializer(config, beanDesc, serializer); } }); }
From source file:de.escalon.hypermedia.spring.hydra.JacksonHydraModule.java
public void setupModule(SetupContext context) { super.setupModule(context); context.addBeanSerializerModifier(new BeanSerializerModifier() { public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (serializer instanceof BeanSerializerBase) { JacksonHydraSerializer jacksonHydraSerializer = new JacksonHydraSerializer( (BeanSerializerBase) serializer, proxyUnwrapper); return jacksonHydraSerializer; } else { return serializer; }//from w w w .ja v a 2s. c o m } }); }
From source file:tv.arte.resteventapi.core.presentation.serialization.JsonDecorationSerializationModule.java
@Override public void setupModule(SetupContext context) { super.setupModule(context); context.addBeanSerializerModifier(new BeanSerializerModifier() { @Override/*from w w w . ja va 2s .c om*/ public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (serializer instanceof BeanSerializerBase) { return new ExtraFieldSerializer((BeanSerializerBase) serializer); } else { return super.modifySerializer(config, beanDesc, serializer); } } }); context.addKeySerializers(new Serializers() { @Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { return new TransientStringSerializer(); } @Override public JsonSerializer<?> findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { return null; } @Override public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { return null; } @Override public JsonSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { return null; } @Override public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { return null; } @Override public JsonSerializer<?> findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { return null; } }); }
From source file:org.hyperledger.jackson.SupernodeModule.java
public SupernodeModule(Supplier<Boolean> production) { super("Supernode"); this.formatter = HyperLedgerSettings.getInstance().getTxWireFormatter(); addDeserializer(MasterPrivateKey.class, new MasterPrivateKeyDeserializer()); addDeserializer(MasterPublicKey.class, new MasterPublicKeyDeserializer()); addDeserializer(Script.class, new ScriptDeserializer()); addDeserializer(UIAddress.class, new AddressDeserializer()); addDeserializer(Transaction.class, new TransactionDeserializer(formatter)); addDeserializer(Hash.class, new HashDeserializer()); addDeserializer(TID.class, new TIDDeserializer()); addDeserializer(BID.class, new BIDDeserializer()); addSerializer(MasterPrivateKey.class, new MasterPrivateKeySerializer()); addSerializer(MasterPublicKey.class, new MasterPublicKeySerializer()); addSerializer(Script.class, new ScriptSerializer()); addSerializer(UIAddress.class, new AddressSerializer()); addSerializer(Transaction.class, new TransactionSerializer()); addSerializer(Outpoint.class, new OutpointSerializer()); addSerializer(Hash.class, new HashSerializer()); addSerializer(TID.class, new TIDSerializer()); addSerializer(BID.class, new BIDSerializer()); this.setSerializerModifier(new BeanSerializerModifier() { @Override//from w w w .j ava 2s.co m public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) { if (serializer instanceof MasterPublicKeySerializer) { MasterPublicKeySerializer.class.cast(serializer).setProduction(production.get()); } if (serializer instanceof MasterPrivateKeySerializer) { MasterPrivateKeySerializer.class.cast(serializer).setProduction(production.get()); } return serializer; } }); }