/* 361 */ TypeBinding beanFactoryType = schemaBinding.getType(beanFactoryTypeQName);
/* 362 */ beanFactoryType.setHandler(new DefaultElementHandler()
/* */ {
/* */ public Object startElement(Object parent, QName name, ElementBinding element)
/* */ {
/* 366 */ return new GenericBeanFactoryMetaData();
/* */ }
/* */
/* */ public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
/* */ {
/* 371 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)o;
/* 372 */ for (int i = 0; i < attrs.getLength(); i++)
/* */ {
/* 374 */ String localName = attrs.getLocalName(i);
/* 375 */ if ("name".equals(localName))
/* 376 */ bean.setName(attrs.getValue(i));
/* 377 */ else if ("class".equals(localName))
/* 378 */ bean.setBeanClass(attrs.getValue(i));
/* 379 */ else if ("mode".equals(localName))
/* 380 */ bean.setMode(new ControllerMode(attrs.getValue(i)));
/* */ }
/* */ }
/* */ });
/* 386 */ beanType.pushInterceptor(classloaderQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 390 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 391 */ AbstractClassLoaderMetaData classloader = (AbstractClassLoaderMetaData)child;
/* 392 */ bean.setClassLoader(classloader);
/* */ }
/* */ });
/* 397 */ beanFactoryType.pushInterceptor(classloaderQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 401 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)parent;
/* 402 */ AbstractClassLoaderMetaData classloader = (AbstractClassLoaderMetaData)child;
/* 403 */ bean.setClassLoader(classloader);
/* */ }
/* */ });
/* 408 */ beanType.pushInterceptor(constructorQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 412 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 413 */ AbstractConstructorMetaData constructor = (AbstractConstructorMetaData)child;
/* 414 */ bean.setConstructor(constructor);
/* */ }
/* */ });
/* 419 */ beanFactoryType.pushInterceptor(constructorQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 423 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)parent;
/* 424 */ AbstractConstructorMetaData constructor = (AbstractConstructorMetaData)child;
/* 425 */ bean.setBeanConstructor(constructor);
/* */ }
/* */ });
/* 430 */ TypeBinding classloaderType = schemaBinding.getType(classloaderTypeQName);
/* 431 */ configureValueBindings(classloaderType);
/* 432 */ classloaderType.setHandler(new DefaultElementHandler()
/* */ {
/* */ public Object startElement(Object parent, QName name, ElementBinding element)
/* */ {
/* 436 */ return new AbstractClassLoaderMetaData();
/* */ }
/* */
/* */ public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
/* */ {
/* */ }
/* */ });
/* 445 */ TypeBinding constructorType = schemaBinding.getType(constructorTypeQName);
/* 446 */ constructorType.setHandler(new DefaultElementHandler()
/* */ {
/* */ public Object startElement(Object parent, QName name, ElementBinding element)
/* */ {
/* 450 */ return new AbstractConstructorMetaData();
/* */ }
/* */
/* */ public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
/* */ {
/* 455 */ AbstractConstructorMetaData constructor = (AbstractConstructorMetaData)o;
/* 456 */ for (int i = 0; i < attrs.getLength(); i++)
/* */ {
/* 458 */ String localName = attrs.getLocalName(i);
/* 459 */ if ("factoryClass".equals(localName))
/* 460 */ constructor.setFactoryClass(attrs.getValue(i));
/* 461 */ else if ("factoryMethod".equals(localName))
/* 462 */ constructor.setFactoryMethod(attrs.getValue(i));
/* */ }
/* */ }
/* */ });
/* 468 */ constructorType.pushInterceptor(factoryQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 472 */ AbstractConstructorMetaData constructor = (AbstractConstructorMetaData)parent;
/* 473 */ AbstractDependencyValueMetaData factory = (AbstractDependencyValueMetaData)child;
/* 474 */ constructor.setFactory(factory);
/* */ }
/* */ });
/* 479 */ constructorType.pushInterceptor(parameterQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 483 */ AbstractConstructorMetaData constructor = (AbstractConstructorMetaData)parent;
/* 484 */ AbstractParameterMetaData parameter = (AbstractParameterMetaData)child;
/* 485 */ List parameters = constructor.getParameters();
/* 486 */ if (parameters == null)
/* */ {
/* 488 */ parameters = new ArrayList();
/* 489 */ constructor.setParameters(parameters);
/* */ }
/* 491 */ parameter.setIndex(parameters.size());
/* 492 */ parameters.add(parameter);
/* */ }
/* */ });
/* 497 */ TypeBinding parameterType = schemaBinding.getType(parameterTypeQName);
/* 498 */ configureValueBindings(parameterType);
/* 499 */ parameterType.setHandler(new DefaultElementHandler()
/* */ {
/* */ public Object startElement(Object parent, QName name, ElementBinding element)
/* */ {
/* 503 */ return new AbstractParameterMetaData();
/* */ }
/* */
/* */ public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
/* */ {
/* 508 */ AbstractParameterMetaData parameter = (AbstractParameterMetaData)o;
/* 509 */ for (int i = 0; i < attrs.getLength(); i++)
/* */ {
/* 511 */ String localName = attrs.getLocalName(i);
/* 512 */ if ("class".equals(localName)) {
/* 513 */ parameter.setType(attrs.getValue(i)); } else {
/* 514 */ if ((!"replace".equals(localName)) && (!"trim".equals(localName)))
/* */ continue;
/* 516 */ org.jboss.beans.metadata.spi.ValueMetaData vmd = parameter.getValue();
/* */ StringValueMetaData stringValueMetaData;
/* */ StringValueMetaData stringValueMetaData;
/* 518 */ if ((vmd != null) && ((vmd instanceof StringValueMetaData))) {
/* 519 */ stringValueMetaData = (StringValueMetaData)vmd;
/* */ }
/* */ else {
/* 522 */ stringValueMetaData = new StringValueMetaData();
/* 523 */ parameter.setValue(stringValueMetaData);
/* */ }
/* 525 */ if ("replace".equals(localName))
/* 526 */ stringValueMetaData.setReplace(Boolean.parseBoolean(attrs.getValue(i)));
/* 527 */ else if ("trim".equals(localName))
/* 528 */ stringValueMetaData.setTrim(Boolean.parseBoolean(attrs.getValue(i)));
/* */ }
/* */ }
/* */ }
/* */ });
/* 535 */ parameterType.setSimpleType(new CharactersHandler()
/* */ {
/* */ public Object unmarshal(QName qName, TypeBinding typeBinding, NamespaceContext nsCtx, org.jboss.xb.binding.metadata.ValueMetaData valueMetaData, String value)
/* */ {
/* 539 */ return new StringValueMetaData(value);
/* */ }
/* */
/* */ public void setValue(QName qName, ElementBinding element, Object owner, Object value)
/* */ {
/* 544 */ AbstractParameterMetaData parameter = (AbstractParameterMetaData)owner;
/* 545 */ StringValueMetaData svmd = (StringValueMetaData)value;
/* 546 */ org.jboss.beans.metadata.spi.ValueMetaData vmd = parameter.getValue();
/* 547 */ if ((vmd != null) && ((vmd instanceof StringValueMetaData)))
/* */ {
/* 549 */ StringValueMetaData previous = (StringValueMetaData)vmd;
/* 550 */ svmd.setReplace(previous.isReplace());
/* 551 */ svmd.setTrim(previous.isTrim());
/* 552 */ String type = previous.getType();
/* 553 */ if (type != null)
/* 554 */ svmd.setType(type);
/* */ }
/* 556 */ parameter.setValue(svmd);
/* */ }
/* */ });
/* 560 */ beanType.pushInterceptor(createQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 564 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 565 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)child;
/* 566 */ lifecycle.setType("create");
/* 567 */ bean.setCreate(lifecycle);
/* */ }
/* */ });
/* 572 */ beanFactoryType.pushInterceptor(createQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 576 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)parent;
/* 577 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)child;
/* 578 */ lifecycle.setType("create");
/* 579 */ bean.setBeanCreate(lifecycle);
/* */ }
/* */ });
/* 584 */ beanType.pushInterceptor(startQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 588 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 589 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)child;
/* 590 */ lifecycle.setType("start");
/* 591 */ bean.setStart(lifecycle);
/* */ }
/* */ });
/* 596 */ beanFactoryType.pushInterceptor(startQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 600 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)parent;
/* 601 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)child;
/* 602 */ lifecycle.setType("start");
/* 603 */ bean.setBeanStart(lifecycle);
/* */ }
/* */ });
/* 608 */ beanType.pushInterceptor(stopQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 612 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 613 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)child;
/* 614 */ lifecycle.setType("stop");
/* 615 */ bean.setStop(lifecycle);
/* */ }
/* */ });
/* 620 */ beanType.pushInterceptor(destroyQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 624 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 625 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)child;
/* 626 */ lifecycle.setType("destroy");
/* 627 */ bean.setDestroy(lifecycle);
/* */ }
/* */ });
/* 632 */ TypeBinding lifecycleType = schemaBinding.getType(lifecycleTypeQName);
/* 633 */ lifecycleType.setHandler(new DefaultElementHandler()
/* */ {
/* */ public Object startElement(Object parent, QName name, ElementBinding element)
/* */ {
/* 637 */ return new AbstractLifecycleMetaData();
/* */ }
/* */
/* */ public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx)
/* */ {
/* 642 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)o;
/* 643 */ for (int i = 0; i < attrs.getLength(); i++)
/* */ {
/* 645 */ String localName = attrs.getLocalName(i);
/* 646 */ if ("method".equals(localName))
/* 647 */ lifecycle.setMethodName(attrs.getValue(i));
/* 648 */ else if ("ignored".equals(localName))
/* 649 */ lifecycle.setIgnored(Boolean.parseBoolean(attrs.getValue(i)));
/* */ }
/* */ }
/* */ });
/* 655 */ lifecycleType.pushInterceptor(parameterQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 659 */ AbstractLifecycleMetaData lifecycle = (AbstractLifecycleMetaData)parent;
/* 660 */ AbstractParameterMetaData parameter = (AbstractParameterMetaData)child;
/* 661 */ List parameters = lifecycle.getParameters();
/* 662 */ if (parameters == null)
/* */ {
/* 664 */ parameters = new ArrayList();
/* 665 */ lifecycle.setParameters(parameters);
/* */ }
/* 667 */ parameter.setIndex(parameters.size());
/* 668 */ parameters.add(parameter);
/* */ }
/* */ });
/* 673 */ beanType.pushInterceptor(propertyQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 677 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 678 */ AbstractPropertyMetaData property = (AbstractPropertyMetaData)child;
/* 679 */ Set properties = bean.getProperties();
/* 680 */ if (properties == null)
/* */ {
/* 682 */ properties = new HashSet();
/* 683 */ bean.setProperties(properties);
/* */ }
/* 685 */ properties.add(property);
/* */ }
/* */ });
/* 690 */ beanFactoryType.pushInterceptor(propertyQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 694 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)parent;
/* 695 */ AbstractPropertyMetaData property = (AbstractPropertyMetaData)child;
/* 696 */ bean.addBeanProperty(property);
/* */ }
/* */ });
/* 701 */ beanType.pushInterceptor(dependsQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 705 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 706 */ AbstractDependencyMetaData dependency = (AbstractDependencyMetaData)child;
/* 707 */ Set depends = bean.getDepends();
/* 708 */ if (depends == null)
/* */ {
/* 710 */ depends = new HashSet();
/* 711 */ bean.setDepends(depends);
/* */ }
/* 713 */ depends.add(dependency);
/* */ }
/* */ });
/* 718 */ beanFactoryType.pushInterceptor(dependsQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 722 */ GenericBeanFactoryMetaData bean = (GenericBeanFactoryMetaData)parent;
/* 723 */ AbstractDependencyMetaData dependency = (AbstractDependencyMetaData)child;
/* 724 */ Set depends = bean.getDepends();
/* 725 */ if (depends == null)
/* */ {
/* 727 */ depends = new HashSet();
/* 728 */ bean.setDepends(depends);
/* */ }
/* 730 */ depends.add(dependency);
/* */ }
/* */ });
/* 735 */ beanType.pushInterceptor(demandQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 739 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 740 */ AbstractDemandMetaData demand = (AbstractDemandMetaData)child;
/* 741 */ Set demands = bean.getDemands();
/* 742 */ if (demands == null)
/* */ {
/* 744 */ demands = new HashSet();
/* 745 */ bean.setDemands(demands);
/* */ }
/* 747 */ demands.add(demand);
/* */ }
/* */ });
/* 752 */ beanFactoryType.pushInterceptor(demandQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 756 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 757 */ AbstractDemandMetaData demand = (AbstractDemandMetaData)child;
/* 758 */ Set demands = bean.getDemands();
/* 759 */ if (demands == null)
/* */ {
/* 761 */ demands = new HashSet();
/* 762 */ bean.setDemands(demands);
/* */ }
/* 764 */ demands.add(demand);
/* */ }
/* */ });
/* 769 */ beanType.pushInterceptor(supplyQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 773 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 774 */ AbstractSupplyMetaData supply = (AbstractSupplyMetaData)child;
/* 775 */ Set supplies = bean.getSupplies();
/* 776 */ if (supplies == null)
/* */ {
/* 778 */ supplies = new HashSet();
/* 779 */ bean.setSupplies(supplies);
/* */ }
/* 781 */ supplies.add(supply);
/* */ }
/* */ });
/* 786 */ beanFactoryType.pushInterceptor(supplyQName, new DefaultElementInterceptor()
/* */ {
/* */ public void add(Object parent, Object child, QName name)
/* */ {
/* 790 */ AbstractBeanMetaData bean = (AbstractBeanMetaData)parent;
/* 791 */ AbstractSupplyMetaData supply = (AbstractSupplyMetaData)child;
/* 792 */ Set supplies = bean.getSupplies();
/* 793 */ if (supplies == null)
/* */ {
/* 795 */ supplies = new HashSet();
/* 796 */ bean.setSupplies(supplies);
/* */ }
/* 798 */ supplies.add(supply);
/* */ }
/* */ });
/* 803 */ TypeBinding propertyType = schemaBinding.getType(propertyTypeQName);