List of usage examples for com.fasterxml.jackson.databind JavaType getKeyType
public JavaType getKeyType()
From source file:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapper.java
public JavaType toJavaType(MessageProperties properties) { JavaType classType = getClassIdType(retrieveHeader(properties, getClassIdFieldName())); if (!classType.isContainerType() || classType.isArrayType()) { return classType; }/*from w w w. j a v a2s. com*/ JavaType contentClassType = getClassIdType(retrieveHeader(properties, getContentClassIdFieldName())); if (classType.getKeyType() == null) { return CollectionType.construct(classType.getRawClass(), contentClassType); } JavaType keyClassType = getClassIdType(retrieveHeader(properties, getKeyClassIdFieldName())); return MapType.construct(classType.getRawClass(), keyClassType, contentClassType); }
From source file:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapper.java
public void fromJavaType(JavaType javaType, MessageProperties properties) { addHeader(properties, getClassIdFieldName(), javaType.getRawClass()); if (javaType.isContainerType() && !javaType.isArrayType()) { addHeader(properties, getContentClassIdFieldName(), javaType.getContentType().getRawClass()); }//from ww w . ja va2 s .c o m if (javaType.getKeyType() != null) { addHeader(properties, getKeyClassIdFieldName(), javaType.getKeyType().getRawClass()); } }
From source file:org.candlepin.swagger.CandlepinSwaggerModelConverter.java
public Property resolveProperty(Type type, ModelConverterContext context, Annotation[] annotations, Iterator<ModelConverter> next) { JavaType propType = null; /**//from www.ja v a2s. c om * See java doc of NestedComplexType. This unwrapping makes sure that a * real type of field is passed to _mapper */ if (type instanceof NestedComplexType) { propType = pMapper.constructType(((NestedComplexType) type).getOriginalType()); } else { propType = pMapper.constructType(type); } log.debug("resolveProperty {}", propType); Property property = null; if (propType.isContainerType()) { JavaType keyType = propType.getKeyType(); JavaType valueType = propType.getContentType(); if (keyType != null && valueType != null) { property = new MapProperty() .additionalProperties(context.resolveProperty(valueType, new Annotation[] {})); } else if (valueType != null) { ArrayProperty arrayProperty = new ArrayProperty() .items(context.resolveProperty(valueType, new Annotation[] {})); if (pIsSetType(propType.getRawClass())) { arrayProperty.setUniqueItems(true); } property = arrayProperty; } } else { property = PrimitiveType.createProperty(propType); } if (property == null) { if (propType.isEnumType()) { property = new StringProperty(); pAddEnumProps(propType.getRawClass(), property); } else if (pIsOptionalType(propType)) { property = context.resolveProperty(propType.containedType(0), null); } else { // complex type Model innerModel = context.resolve(type); if (innerModel instanceof ModelImpl) { ModelImpl mi = (ModelImpl) innerModel; property = new RefProperty( StringUtils.isNotEmpty(mi.getReference()) ? mi.getReference() : mi.getName()); } } } return property; }