Java 类com.fasterxml.jackson.databind.ser.std.MapSerializer 实例源码

项目:endpoints-java    文件:ObjectMapperUtil.java   
@Override
public JsonSerializer<?> modifyMapSerializer(SerializationConfig config, MapType valueType,
    BeanDescription beanDesc, JsonSerializer<?> serializer) {
  if (serializer instanceof MapSerializer) {
    // TODO: We should probably be propagating the NON_EMPTY inclusion here, but it's breaking
    // discovery.
    return new DeepEmptyCheckingSerializer<>(serializer);
  }
  return serializer;
}
项目:QuizUpWinner    文件:BasicSerializerFactory.java   
protected JsonSerializer<?> buildMapSerializer(SerializationConfig paramSerializationConfig, MapType paramMapType, BeanDescription paramBeanDescription, boolean paramBoolean, JsonSerializer<Object> paramJsonSerializer1, TypeSerializer paramTypeSerializer, JsonSerializer<Object> paramJsonSerializer2)
{
  Object localObject = null;
  Iterator localIterator1 = customSerializers().iterator();
  JsonSerializer localJsonSerializer;
  do
  {
    if (!localIterator1.hasNext())
      break;
    localJsonSerializer = ((Serializers)localIterator1.next()).findMapSerializer(paramSerializationConfig, paramMapType, paramBeanDescription, paramJsonSerializer1, paramTypeSerializer, paramJsonSerializer2);
    localObject = localJsonSerializer;
  }
  while (localJsonSerializer == null);
  if (localObject == null)
    if (EnumMap.class.isAssignableFrom(paramMapType.getRawClass()))
    {
      JavaType localJavaType = paramMapType.getKeyType();
      boolean bool = localJavaType.isEnumType();
      EnumValues localEnumValues = null;
      if (bool)
        localEnumValues = EnumValues.construct(localJavaType.getRawClass(), paramSerializationConfig.getAnnotationIntrospector());
      localObject = new EnumMapSerializer(paramMapType.getContentType(), paramBoolean, localEnumValues, paramTypeSerializer, paramJsonSerializer2);
    }
    else
    {
      localObject = MapSerializer.construct(paramSerializationConfig.getAnnotationIntrospector().findPropertiesToIgnore(paramBeanDescription.getClassInfo()), paramMapType, paramBoolean, paramTypeSerializer, paramJsonSerializer1, paramJsonSerializer2);
    }
  if (this._factoryConfig.hasSerializerModifiers())
  {
    Iterator localIterator2 = this._factoryConfig.serializerModifiers().iterator();
    while (localIterator2.hasNext())
      localObject = ((BeanSerializerModifier)localIterator2.next()).modifyMapSerializer(paramSerializationConfig, paramMapType, paramBeanDescription, (JsonSerializer)localObject);
  }
  return localObject;
}
项目:joyplus-tv    文件:AnyGetterWriter.java   
public AnyGetterWriter(BeanProperty property,
        AnnotatedMember accessor, MapSerializer serializer)
{
    _accessor = accessor;
    _property = property;
    _serializer = serializer;
}
项目:spring-data-rest-android    文件:Jackson2HalModule.java   
@Override
public void serialize(List<Link> value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonGenerationException {

    // sort links according to their relation
    Map<String, List<Object>> sortedLinks = new LinkedHashMap<String, List<Object>>();
    List<Link> links = new ArrayList<Link>();

    boolean prefixingRequired = curieProvider != null;
    boolean curiedLinkPresent = false;
    boolean skipCuries = !jgen.getOutputContext().getParent().inRoot();

    Object currentValue = jgen.getCurrentValue();

    if (currentValue instanceof Resources) {
        if (mapper.hasCuriedEmbed((Resources<?>) currentValue)) {
            curiedLinkPresent = true;
        }
    }

    for (Link link : value) {

        if (link.equals(CURIES_REQUIRED_DUE_TO_EMBEDS)) {
            continue;
        }

        String rel = prefixingRequired ? curieProvider.getNamespacedRelFrom(link) : link.getRel();

        if (!link.getRel().equals(rel)) {
            curiedLinkPresent = true;
        }

        if (sortedLinks.get(rel) == null) {
            sortedLinks.put(rel, new ArrayList<Object>());
        }

        links.add(link);

        sortedLinks.get(rel).add(toHalLink(link));
    }

    if (!skipCuries && prefixingRequired && curiedLinkPresent) {

        ArrayList<Object> curies = new ArrayList<Object>();
        curies.add(curieProvider.getCurieInformation(new Links(links)));

        sortedLinks.put("curies", curies);
    }

    TypeFactory typeFactory = provider.getConfig().getTypeFactory();
    JavaType keyType = typeFactory.uncheckedSimpleType(String.class);
    JavaType valueType = typeFactory.constructCollectionType(ArrayList.class, Object.class);
    JavaType mapType = typeFactory.constructMapType(HashMap.class, keyType, valueType);

    MapSerializer serializer = MapSerializer.construct(new String[]{}, mapType, true, null,
            provider.findKeySerializer(keyType, null), new OptionalListJackson2Serializer(property), null);

    serializer.serialize(sortedLinks, jgen, provider);
}
项目:QuizUpWinner    文件:BeanSerializerFactory.java   
protected JsonSerializer<Object> constructBeanSerializer(SerializerProvider paramSerializerProvider, BeanDescription paramBeanDescription)
{
  if (paramBeanDescription.getBeanClass() == Object.class)
    return paramSerializerProvider.getUnknownTypeSerializer(Object.class);
  SerializationConfig localSerializationConfig = paramSerializerProvider.getConfig();
  BeanSerializerBuilder localBeanSerializerBuilder1 = constructBeanSerializerBuilder(paramBeanDescription);
  BeanSerializerBuilder localBeanSerializerBuilder2 = localBeanSerializerBuilder1;
  localBeanSerializerBuilder1.setConfig(localSerializationConfig);
  List localList1 = findBeanProperties(paramSerializerProvider, paramBeanDescription, localBeanSerializerBuilder2);
  Object localObject = localList1;
  if (localList1 == null)
    localObject = new ArrayList();
  if (this._factoryConfig.hasSerializerModifiers())
  {
    Iterator localIterator3 = this._factoryConfig.serializerModifiers().iterator();
    while (localIterator3.hasNext())
      localObject = ((BeanSerializerModifier)localIterator3.next()).changeProperties(localSerializationConfig, paramBeanDescription, (List)localObject);
  }
  List localList2 = filterBeanProperties(localSerializationConfig, paramBeanDescription, (List)localObject);
  if (this._factoryConfig.hasSerializerModifiers())
  {
    Iterator localIterator2 = this._factoryConfig.serializerModifiers().iterator();
    while (localIterator2.hasNext())
      localList2 = ((BeanSerializerModifier)localIterator2.next()).orderProperties(localSerializationConfig, paramBeanDescription, localList2);
  }
  localBeanSerializerBuilder2.setObjectIdWriter(constructObjectIdHandler(paramSerializerProvider, paramBeanDescription, localList2));
  localBeanSerializerBuilder2.setProperties(localList2);
  localBeanSerializerBuilder2.setFilterId(findFilterId(localSerializationConfig, paramBeanDescription));
  AnnotatedMember localAnnotatedMember = paramBeanDescription.findAnyGetter();
  if (localAnnotatedMember != null)
  {
    if (localSerializationConfig.canOverrideAccessModifiers())
      localAnnotatedMember.fixAccess();
    JavaType localJavaType1 = localAnnotatedMember.getType(paramBeanDescription.bindingsForBeanType());
    boolean bool = localSerializationConfig.isEnabled(MapperFeature.USE_STATIC_TYPING);
    JavaType localJavaType2 = localJavaType1.getContentType();
    MapSerializer localMapSerializer = MapSerializer.construct(null, localJavaType1, bool, createTypeSerializer(localSerializationConfig, localJavaType2), null, null);
    localBeanSerializerBuilder2.setAnyGetter(new AnyGetterWriter(new BeanProperty.Std(localAnnotatedMember.getName(), localJavaType2, null, paramBeanDescription.getClassAnnotations(), localAnnotatedMember, false), localAnnotatedMember, localMapSerializer));
  }
  processViews(localSerializationConfig, localBeanSerializerBuilder2);
  if (this._factoryConfig.hasSerializerModifiers())
  {
    Iterator localIterator1 = this._factoryConfig.serializerModifiers().iterator();
    while (localIterator1.hasNext())
      localBeanSerializerBuilder2 = ((BeanSerializerModifier)localIterator1.next()).updateBuilder(localSerializationConfig, paramBeanDescription, localBeanSerializerBuilder2);
  }
  JsonSerializer localJsonSerializer = localBeanSerializerBuilder2.build();
  if ((localJsonSerializer == null) && (paramBeanDescription.hasKnownClassAnnotations()))
    return localBeanSerializerBuilder2.createDummy();
  return localJsonSerializer;
}
项目:QuizUpWinner    文件:AnyGetterWriter.java   
public AnyGetterWriter(BeanProperty paramBeanProperty, AnnotatedMember paramAnnotatedMember, MapSerializer paramMapSerializer)
{
  this._accessor = paramAnnotatedMember;
  this._property = paramBeanProperty;
  this._serializer = paramMapSerializer;
}
项目:QuizUpWinner    文件:AnyGetterWriter.java   
public void resolve(SerializerProvider paramSerializerProvider)
{
  this._serializer = ((MapSerializer)this._serializer.createContextual(paramSerializerProvider, this._property));
}
项目:joyplus-tv    文件:AnyGetterWriter.java   
public void resolve(SerializerProvider provider) throws JsonMappingException
{
    _serializer = (MapSerializer) _serializer.createContextual(provider, _property);
}