@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (CaffeineSpec.class.isAssignableFrom(type.getRawClass())) { return new CaffeineSpecSerializer(); } return super.findSerializer(config, type, beanDesc); } }
return super.findSerializer(config, type, beanDesc);
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { Class<?> raw = type.getRawClass(); if (Range.class.isAssignableFrom(raw)) { return new RangeSerializer(_findDeclared(type, Range.class)); } if (Table.class.isAssignableFrom(raw)) { return new TableSerializer(_findDeclared(type, Table.class)); } // since 2.4 if (HostAndPort.class.isAssignableFrom(raw)) { return ToStringSerializer.instance; } if (InternetDomainName.class.isAssignableFrom(raw)) { return ToStringSerializer.instance; } // not sure how useful, but why not? if (CacheBuilderSpec.class.isAssignableFrom(raw) || CacheBuilder.class.isAssignableFrom(raw)) { return ToStringSerializer.instance; } if (HashCode.class.isAssignableFrom(raw)) { return ToStringSerializer.instance; } if (FluentIterable.class.isAssignableFrom(raw)) { JavaType iterableType = _findDeclared(type, Iterable.class); return new StdDelegatingSerializer(FluentConverter.instance, iterableType, null); } return super.findSerializer(config, type, beanDesc); }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (type.isTypeOrSubTypeOf(Resource.class)) { return _resourceSerializer; } if (type.isTypeOrSubTypeOf(Enumerator.class) && !type.isReferenceType()) { if (type.getRawClass() != EEnumLiteralImpl.class) { return _enumeratorSerializer; } } if (type.isReferenceType() || type.isTypeOrSubTypeOf(ReferenceEntry.class)) { return _referenceSerializer; } if (type.isTypeOrSubTypeOf(EcoreType.DataType.class)) { return _dataTypeSerializer; } if (type.isTypeOrSubTypeOf(EObject.class)) { return new EObjectSerializer(propertiesBuilder, _referenceSerializer); } return super.findSerializer(config, type, beanDesc); }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (type.isTypeOrSubTypeOf(Resource.class)) { return _resourceSerializer; } if (type.isTypeOrSubTypeOf(Enumerator.class) && !type.isReferenceType()) { if (type.getRawClass() != EEnumLiteralImpl.class) { return _enumeratorSerializer; } } if (type.isReferenceType() || type.isTypeOrSubTypeOf(ReferenceEntry.class)) { return _referenceSerializer; } if (type.isTypeOrSubTypeOf(EcoreType.DataType.class)) { return _dataTypeSerializer; } if (type.isTypeOrSubTypeOf(EObject.class)) { return new EObjectSerializer(propertiesBuilder, _referenceSerializer); } return super.findSerializer(config, type, beanDesc); }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (ClassUtils.isAssignable(JavassistLazyInitializer.class, type.getRawClass())) { return new JavassistLazyInitializerSerializer(null); } else if (!excluded.contains(type.getRawClass()) && ClassUtils.isAssignable(BaseEntity.class, type.getRawClass())) { Class<?> entityClass = type.getRawClass(); if (Proxy.isProxyClass(entityClass) || ClassUtils.isCglibProxyClass(entityClass)) { entityClass = entityClass.getSuperclass(); JpaEntityInformation<?, ? extends Serializable> entityInformation = JpaEntityInformationSupport .getEntityInformation(entityClass, entityManager); if (entityInformation != null) { return new JpaEntitySerializer<>(entityInformation, null); } } } return super.findSerializer(config, type, beanDesc); }
@Override public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { Class<?> raw = type.getRawClass(); if (raw == CharSeq.class) { return new CharSeqSerializer(type); } if (Seq.class.isAssignableFrom(raw)) { return new ArraySerializer<>(type); } if (Set.class.isAssignableFrom(raw)) { return new ArraySerializer<>(type); } if (PriorityQueue.class.isAssignableFrom(raw)) { return new ArraySerializer<>(type); } return super.findCollectionLikeSerializer(config, type, beanDesc, elementTypeSerializer, elementValueSerializer); }
@Override public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { Class<?> raw = type.getRawClass(); if (Map.class.isAssignableFrom(raw)) { return new MapSerializer(type); } if (Multimap.class.isAssignableFrom(raw)) { return new MultimapSerializer(type); } return super.findMapLikeSerializer(config, type, beanDesc, keySerializer, elementTypeSerializer, elementValueSerializer); } }
@Override public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { if (type.isTypeOrSubTypeOf(EMap.class)) { if (type.getKeyType().isTypeOrSubTypeOf(String.class)) { return _mapSerializer; } } return super.findMapLikeSerializer(config, type, beanDesc, keySerializer, elementTypeSerializer, elementValueSerializer); }
@Override public JsonSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { if (type.getContentType() != null && HasJsonKey.class.isAssignableFrom(type.getContentType().getRawClass())) { return new KeyedListSerializer(); } return super.findCollectionSerializer(config, type, beanDesc, elementTypeSerializer, elementValueSerializer); } }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { Class<?> rawClass = type.getRawClass(); if (ObjectId.class.isAssignableFrom(rawClass)) { return new ObjectIdSerializer(); } if (MongoClientURI.class.isAssignableFrom(rawClass)) { return new MongoClientURISerializer(); } return super.findSerializer(config, type, beanDesc); }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (CacheBuilderSpec.class.isAssignableFrom(type.getRawClass())) { return new CacheBuilderSpecSerializer(); } return super.findSerializer(config, type, beanDesc); } }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (Level.class.isAssignableFrom(type.getRawClass())) { return new LevelSerializer(); } return super.findSerializer(config, type, beanDesc); } }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { Class<?> raw = type.getRawClass(); if(Optional.class.isAssignableFrom(raw)) { return new JavaOptionalSerializer(type); } return super.findSerializer(config, type, beanDesc); } }
@Override public JsonSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { if (type.getContentType().isReferenceType()) { return new CollectionSerializer(type.getContentType(), false, null, (JsonSerializer) _referenceSerializer); } return super.findCollectionSerializer(config, type, beanDesc, elementTypeSerializer, elementValueSerializer); }
@Override public JsonSerializer<?> findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { if (type.getContentType().isReferenceType()) { return new CollectionSerializer(type.getContentType(), false, null, (JsonSerializer) _referenceSerializer); } return super.findCollectionSerializer(config, type, beanDesc, elementTypeSerializer, elementValueSerializer); }
@Override public JsonSerializer<?> findSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) { if (CacheBuilderSpec.class.isAssignableFrom(type.getRawClass())) { return new CacheBuilderSpecSerializer(); } return super.findSerializer(config, type, beanDesc); } }
@Override public JsonSerializer<?> findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer) { // 21-Oct-2015, tatu: For backwards compatibility, let's delegate to "bean" variant, // for 2.7 -- remove work-around from 2.8 or later return findSerializer(config, type, beanDesc); }
@Override public JsonSerializer<?> findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { if (type.isTypeOrSubTypeOf(EMap.class)) { if (type.getKeyType().isTypeOrSubTypeOf(String.class)) { return _mapSerializer; } } return super.findMapLikeSerializer(config, type, beanDesc, keySerializer, elementTypeSerializer, elementValueSerializer); }
@Override public JsonSerializer<?> findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer) { // 21-Oct-2015, tatu: For backwards compatibility, let's delegate to "bean" variant, // for 2.7 -- remove work-around from 2.8 or later return findSerializer(config, type, beanDesc); }