mapping.useTransparentMap(mapKey);
} else if (rawClass == List.class) {
mapping.useTransparentList();
} else if (rawClass == Collection.class) {
mapping.useTransparentCollection();
mapping.setContainerPolicy(new CollectionContainerPolicy(ClassConstants.IndirectList_Class));
} else if (rawClass == Set.class) {
mapping.useTransparentSet();
} else {
//bug221577: This should be supported when a transparent indirection class can be set through eclipseLink_orm.xml, or basic indirection is used
this.getLogger().logWarningMessage(MetadataLogger.WARNING_INVALID_COLLECTION_USED_ON_LAZY_RELATION, this.getJavaClass(), this.getAnnotatedElement(), rawClass);
}
} else {
mapping.dontUseIndirection();
if (rawClass == Map.class) {
mapping.useMapClass(java.util.Hashtable.class, mapKey);
} else if (rawClass == Set.class) {
//this will cause it to use a CollectionContainerPolicy type
mapping.useCollectionClass(java.util.HashSet.class);
} else if (rawClass == List.class) {
//this will cause a ListContainerPolicy type to be used or OrderedListContainerPolicy if ordering is specified
mapping.useCollectionClass(java.util.Vector.class);
} else if (rawClass == Collection.class) {
//bug236275 : Force CollectionContainerPolicy type to be used with a collection implementation
mapping.setContainerPolicy(new CollectionContainerPolicy(java.util.Vector.class));
} else {
//bug221577: use the supplied collection class type if its not an interface
if (mapKey == null || mapKey.equals("")){
mapping.useCollectionClass(rawClass);
} else {