if (classOrInterface.isEnum() != null) {
// The fields of an enum are never serialized; they are always okay.
return true;
}
JParameterizedType isParameterized = classOrInterface.isParameterized();
if (isParameterized != null) {
if (isRawMapOrRawCollection(classOrInterface)) {
/*
* Backwards compatibility. Raw collections or maps force all object
* subtypes to be considered.
*/
checkAllSubtypesOfObject(logger, parent, problems);
} else {
TreeLogger paramsLogger = logger.branch(TreeLogger.DEBUG,
"Checking parameters of '"
+ isParameterized.getParameterizedQualifiedSourceName() + "'");
for (JTypeParameter param : isParameterized.getBaseType().getTypeParameters()) {
if (!checkTypeArgument(paramsLogger, isParameterized.getBaseType(),
param.getOrdinal(),
isParameterized.getTypeArgs()[param.getOrdinal()], parent,
problems)) {
return false;
}
}
}