/* */ continue;
/* 392 */ Element interceptorElement = (Element)children2.item(j);
/* 393 */ String tag2 = interceptorElement.getTagName();
/* 394 */ if (tag2.equals("interceptor"))
/* */ {
/* 396 */ InterceptorFactory factory = deployInterceptor(interceptorElement);
/* 397 */ interceptors.add(factory);
/* */ }
/* 399 */ else if (tag2.equals("interceptor-ref"))
/* */ {
/* 401 */ String iname = interceptorElement.getAttribute("name");
/* 402 */ if (iname == null) throw new RuntimeException("interceptor-ref has null name attribute");
/* 403 */ InterceptorFactory factory = this.manager.getInterceptorFactory(iname);
/* 404 */ if (factory == null) throw new RuntimeException("unable to resolve interceptor-ref: " + iname);
/* 405 */ interceptors.add(factory);
/* */ }
/* 407 */ else if (tag2.equals("stack-ref"))
/* */ {
/* 409 */ String name = interceptorElement.getAttribute("name");
/* 410 */ AdviceStack stack = this.manager.getAdviceStack(name);
/* 411 */ if (stack == null) throw new Exception("there is no <stack> defined for name: " + name);
/* 412 */ interceptors.addAll(stack.getInterceptorFactories());
/* */ }
/* */ else
/* */ {
/* 416 */ AdviceType type = null;
/* 417 */ if (!tag2.equals("advice"))
/* */ {
/* */ try
/* */ {
/* 421 */ type = (AdviceType)Enum.valueOf(AdviceType.class, tag2.toUpperCase());
/* */ }
/* */ catch (IllegalArgumentException e)
/* */ {
/* 425 */ StringBuffer message = new StringBuffer();
/* 426 */ message.append("unexpected tag inside binding: '");
/* 427 */ message.append(tag2);
/* 428 */ message.append("'\n\t\t\t\t\t should be one of: \n\t\t\t\t\t\t'interceptor', \n\t\t\t\t\t\t'interceptor-ref', \n\t\t\t\t\t\t'advice', \n\t\t\t\t\t\t'");
/* 429 */ for (AdviceType adviceType : AdviceType.values())
/* */ {
/* 431 */ message.append(adviceType.getName());
/* 432 */ message.append("', \n\t\t\t\t\t\t'");
/* */ }
/* 434 */ message.append("stack-ref'.\n");
/* 435 */ throw new RuntimeException(message.toString());
/* */ }
/* */ }
/* 438 */ InterceptorFactory factory = deployAdvice(interceptorElement, type);
/* 439 */ interceptors.add(factory);
/* */ }
/* */ }
/* */
/* 443 */ return interceptors;