List of usage examples for com.fasterxml.jackson.databind SerializerProvider getTypeFactory
public TypeFactory getTypeFactory()
From source file:org.apache.ode.jacob.soup.jackson.ChannelProxySerializer.java
private void serializeContents(ChannelProxy value, JsonGenerator jgen, SerializerProvider provider) throws JsonGenerationException, IOException { CommChannel commChannel = ChannelFactory.getBackend((Channel) value); ClassNameIdResolver idResolver = new ClassNameIdResolver(provider.constructType(commChannel.getType()), provider.getTypeFactory()); Integer cid = (Integer) commChannel.getId(); jgen.writeStringField("channelType", idResolver.idFromBaseType()); jgen.writeNumberField("channelId", cid); // save channel id for garbage collection executionQueueImplSerializer.markChannelUsed(cid); }
From source file:net.nullschool.grains.jackson.datatype.GrainSerializer.java
@Override public void resolve(SerializerProvider provider) throws JsonMappingException { if (isResolved.getAndSet(true)) { // This serializer has already been resolved so don't resolve again; avoids stack overflow. return;/*from ww w . j av a 2 s. com*/ } List<PropertyWriter> writers = new ArrayList<>(); for (GrainProperty gp : factory.getBasisProperties().values()) { JacksonGrainProperty prop = new JacksonGrainProperty(gp, provider.getTypeFactory(), handledType()); JsonSerializer<Object> serializer = provider.findValueSerializer(prop.getType(), prop); writers.add(new PropertyWriter(prop.getName(), serializer)); } this.writers = writers.toArray(new PropertyWriter[writers.size()]); }