JavaType kt = mapEntryType.containedTypeOrUnknown(0); JavaType vt = mapEntryType.containedTypeOrUnknown(1); return buildMapEntrySerializer(prov, type, beanDesc, staticTyping, kt, vt);
JavaType kt = type.containedTypeOrUnknown(0); JavaType vt = type.containedTypeOrUnknown(1); TypeDeserializer vts = (TypeDeserializer) vt.getTypeHandler(); if (vts == null) {
JavaType mapEntryType = _beanType.findSuperType(Map.Entry.class); JavaType kt = mapEntryType.containedTypeOrUnknown(0); JavaType vt = mapEntryType.containedTypeOrUnknown(1);
@Override public JavaType modifyType(JavaType type, Type jdkType, TypeBindings bindings, TypeFactory typeFactory) { if (type.isReferenceType() || type.isContainerType()) { return type; } final Class<?> raw = type.getRawClass(); // First: make Multimaps look more Map-like if (raw == Multimap.class) { return MapLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0), type.containedTypeOrUnknown(1)); } if (raw == Optional.class) { return ReferenceType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } return type; } }
_type.containedTypeOrUnknown(1), _type.containedTypeOrUnknown(2)); _type.containedTypeOrUnknown(0), columnAndValueType); _rowMapSerializer = MapSerializer.construct((Set<String>) null,
final JavaType valueType = _type.containedTypeOrUnknown(2); if (valueType.isFinal()) { valueSer = provider.findValueSerializer(valueType, property); rowKeySer = provider.findKeySerializer(_type.containedTypeOrUnknown(0), property); columnKeySer = provider.findKeySerializer(_type.containedTypeOrUnknown(1), property);
@Override public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException { if (_endpointSerializer == null) { JavaType endpointType = _rangeType.containedTypeOrUnknown(0); // let's not consider "untyped" (java.lang.Object) to be meaningful here... if (endpointType != null && !endpointType.hasRawClass(Object.class)) { JsonSerializer<?> ser = prov.findValueSerializer(endpointType, property); return new RangeSerializer(_rangeType, ser); } /* 21-Sep-2014, tatu: Need to make sure all serializers get proper contextual * access, in case they rely on annotations on properties... (or, more generally, * in getting a chance to be contextualized) */ } else if (_endpointSerializer instanceof ContextualSerializer) { JsonSerializer<?> cs = ((ContextualSerializer)_endpointSerializer).createContextual(prov, property); if (cs != _endpointSerializer) { return new RangeSerializer(_rangeType, cs); } } return this; }
@SuppressWarnings("unchecked") @Override PriorityQueue<?> create(List<Object> list, DeserializationContext ctxt) throws JsonMappingException { checkContainedTypeIsComparable(ctxt, javaType.containedTypeOrUnknown(0)); return PriorityQueue.ofAll((Comparator<Object> & Serializable) (o1, o2) -> ((Comparable) o1).compareTo(o2), list); } }
@Override public JavaType modifyType(JavaType type, Type jdkType, TypeBindings bindings, TypeFactory typeFactory) { final Class<?> raw = type.getRawClass(); if (Seq.class.isAssignableFrom(raw) && CharSeq.class != raw) { return CollectionLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } if (Set.class.isAssignableFrom(raw)) { return CollectionLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } if (PriorityQueue.class.isAssignableFrom(raw)) { return CollectionLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } if (Map.class.isAssignableFrom(raw)) { return MapLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0), type.containedTypeOrUnknown(1)); } if (Multimap.class.isAssignableFrom(raw)) { return MapLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0), type.containedTypeOrUnknown(1)); } if (Lazy.class.isAssignableFrom(raw)) { return ReferenceType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } if (Option.class.isAssignableFrom(raw)) { return ReferenceType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } return type; } }
@Override public JavaType modifyType(JavaType type, Type jdkType, TypeBindings bindings, TypeFactory typeFactory) { if (type.isReferenceType() || type.isContainerType()) { return type; } final Class<?> raw = type.getRawClass(); // First: make Multimaps look more Map-like if (raw == Multimap.class) { return MapLikeType.upgradeFrom(type, type.containedTypeOrUnknown(0), type.containedTypeOrUnknown(1)); } if (raw == Optional.class) { return ReferenceType.upgradeFrom(type, type.containedTypeOrUnknown(0)); } return type; } }
_type.containedTypeOrUnknown(1), _type.containedTypeOrUnknown(2)); JsonSerializer<?> columnAndValueSerializer = MapSerializer.construct(null, _type.containedTypeOrUnknown(0), columnAndValueType); _rowMapSerializer = MapSerializer.construct(null,
@Override public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException { final Class<?> containedType = property.getType().containedTypeOrUnknown(0).getRawClass(); return new TypedFieldPatchDeserializer(containedType); }
@Override public void resolve(DeserializationContext ctxt) throws JsonMappingException { // TODO rewrite this if (javaType.isCollectionLikeType() || javaType.isReferenceType()) { deserializers.add(ctxt.findRootValueDeserializer(javaType.getContentType())); return; } for (int i = 0; i < typeCount; i++) { JavaType containedType = javaType.containedTypeOrUnknown(i); deserializers.add(ctxt.findRootValueDeserializer(containedType)); } }
@SuppressWarnings("unchecked") @Override Set<?> create(List<Object> result, DeserializationContext ctx) throws JsonMappingException { if (io.vavr.collection.SortedSet.class.isAssignableFrom(javaType.getRawClass())) { checkContainedTypeIsComparable(ctx, javaType.containedTypeOrUnknown(0)); return io.vavr.collection.TreeSet.ofAll((Comparator<Object> & Serializable) (o1, o2) -> ((Comparable) o1).compareTo(o2), result); } if (io.vavr.collection.LinkedHashSet.class.isAssignableFrom(javaType.getRawClass())) { return io.vavr.collection.LinkedHashSet.ofAll(result); } // default deserialization [...] -> Set return HashSet.ofAll(result); } }
JavaType kt = mapEntryType.containedTypeOrUnknown(0); JavaType vt = mapEntryType.containedTypeOrUnknown(1); return buildMapEntrySerializer(prov, type, beanDesc, staticTyping, kt, vt);
JavaType kt = mapEntryType.containedTypeOrUnknown(0); JavaType vt = mapEntryType.containedTypeOrUnknown(1); return buildMapEntrySerializer(prov.getConfig(), type, beanDesc, staticTyping, kt, vt);
final JavaType valueType = _type.containedTypeOrUnknown(2); if (valueType.isFinal()) { valueSer = provider.findValueSerializer(valueType, property); rowKeySer = provider.findKeySerializer(_type.containedTypeOrUnknown(0), property); columnKeySer = provider.findKeySerializer(_type.containedTypeOrUnknown(1), property);
@Override public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException { if (_endpointSerializer == null) { JavaType endpointType = _rangeType.containedTypeOrUnknown(0); // let's not consider "untyped" (java.lang.Object) to be meaningful here... if (endpointType != null && !endpointType.hasRawClass(Object.class)) { JsonSerializer<?> ser = prov.findValueSerializer(endpointType, property); return new RangeSerializer(_rangeType, ser); } /* 21-Sep-2014, tatu: Need to make sure all serializers get proper contextual * access, in case they rely on annotations on properties... (or, more generally, * in getting a chance to be contextualized) */ } else if (_endpointSerializer instanceof ContextualSerializer) { JsonSerializer<?> cs = ((ContextualSerializer)_endpointSerializer).createContextual(prov, property); if (cs != _endpointSerializer) { return new RangeSerializer(_rangeType, cs); } } return this; }
JavaType kt = type.containedTypeOrUnknown(0); JavaType vt = type.containedTypeOrUnknown(1); TypeDeserializer vts = (TypeDeserializer) vt.getTypeHandler(); if (vts == null) {
JavaType mapEntryType = _beanType.findSuperType(Map.Entry.class); JavaType kt = mapEntryType.containedTypeOrUnknown(0); JavaType vt = mapEntryType.containedTypeOrUnknown(1);