}
}
// now try to guess because it wasn't specifically specified whether
// it should be generated or not
SubTask subtask = getSubTaskClassForClass(clazz);
if (clazz.isAbstract() == true) {
if (hasANonDocletGeneratedSubClass(clazz) == true) {
return false;
}
// an abstract mdb/etc?
if (subtask == null) {
return false;
}
// if <entitycmp/bmp/session/> is on, then do the best to guess correctly
if (DocletContext.getInstance().isSubTaskDefined(subtask.getSubTaskName()) == true) {
//none of the above guesses worked, assume it's concrete!
return true;
}
else {
// if <entitycmp/bmp/session/> is off, so if class is abstract then the bean is abstract except for entity cmp beans in ejb2 cmp2
if (CmpTagsHandler.isEntityCmp(clazz) && CmpTagsHandler.isUsingCmp2Impl(clazz)) {
return true;
}
return false;
}
}
else {
// if <entitycmp/bmp/> is on, then it's an error or not specify the class abstract, except for <session/> that non-abstract is also legal
if (subtask != null && DocletContext.getInstance().isSubTaskDefined(subtask.getSubTaskName())) {
if (subtask.getSubTaskName().equals(DocletTask.getSubTaskName(SessionSubTask.class))) {
return true;
}
String currentClassName = clazz.getQualifiedName();