for (int j = 0; j < methods.length; j++) {
tags = (method = methods[j]).getTagsByName(TagLibrary.EJB_TRANSACTION_METHOD);
for (int k = 0; k < tags.length; k++) {
EjbTransactionMethodTag transTag = (EjbTransactionMethodTag) tags[k];
int methodType = getMethodType(method);
if ((methodType != IFACE_METHOD_CREATE) && (methodType != IFACE_METHOD_COMPONENT)) {
throw getErrorWithTagLocation(transTag,
"Can't mark a method transaction on a non interface or create method");
}
int permType = getViewType(method, javaClass);
// -------------------------------------------------------
// Let's "bitwise and" to get only the specied masks
// that are compatible with the bean
// HUMM: Is this valid ?
if (permType == 0) {
throw getErrorWithTagLocation(transTag,
"Couldn't resolve a compatible interface type reference. Maybe bean/view-type/version doesn't support it!");
}
// Lets expand by permission for interface type
retLst.addAll(ContainerTransaction.unroll(permType, externalizeMethodName(method), transTag.getType()));
}
}
if (isEntityBean(javaClass)) {
tags = javaClass.getTagsByName(TagLibrary.EJB_FINDER);