/** * Method for constructing a {@link CollectionLikeType}. *<p> * NOTE: type modifiers are NOT called on constructed type itself; but are called * for contained types. */ public CollectionLikeType constructCollectionLikeType(Class<?> collectionClass, JavaType elementType) { JavaType type = _fromClass(null, collectionClass, TypeBindings.createIfNeeded(collectionClass, elementType)); if (type instanceof CollectionLikeType) { return (CollectionLikeType) type; } return CollectionLikeType.upgradeFrom(type, elementType); }
/** * Method for constructing a {@link CollectionLikeType}. *<p> * NOTE: type modifiers are NOT called on constructed type itself; but are called * for contained types. */ public CollectionLikeType constructCollectionLikeType(Class<?> collectionClass, JavaType elementType) { JavaType type = _fromClass(null, collectionClass, TypeBindings.createIfNeeded(collectionClass, elementType)); if (type instanceof CollectionLikeType) { return (CollectionLikeType) type; } return CollectionLikeType.upgradeFrom(type, elementType); }
/** * Method for constructing a {@link CollectionLikeType}. *<p> * NOTE: type modifiers are NOT called on constructed type itself; but are called * for contained types. */ public CollectionLikeType constructCollectionLikeType(Class<?> collectionClass, JavaType elementType) { JavaType type = _fromClass(null, collectionClass, TypeBindings.createIfNeeded(collectionClass, elementType)); if (type instanceof CollectionLikeType) { return (CollectionLikeType) type; } return CollectionLikeType.upgradeFrom(type, elementType); }
@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; } }