static protected void addComponentDigesterRules()

in maven2-plugins/myfaces-faces-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/faces/parse/FacesConfigParser.java [90:254]


  static protected void addComponentDigesterRules(Digester digester, boolean withCreate)
  {
    digester.setRuleNamespaceURI("http://java.sun.com/xml/ns/javaee");

    // faces-config/component
    // Only use if we're creating the component;  turn this off
    // when we're simply including content
    if (withCreate)
    {
      // faces-config/component
      digester.addObjectCreate("faces-config/component", ComponentBean.class);
      digester.addBeanPropertySetter("faces-config/component/component-type",
                                     "componentType");
      digester.addBeanPropertySetter("faces-config/component/component-class",
                                     "componentClass");
      digester.addBeanPropertySetter("faces-config/component/description");
      digester.addSetNext("faces-config/component", "addComponent",
                          ComponentBean.class.getName());
    }

    // faces-config/component/property
    digester.addObjectCreate("faces-config/component/property", PropertyBean.class);
    digester.addBeanPropertySetter("faces-config/component/property/property-name",
                                   "propertyName");
    digester.addBeanPropertySetter("faces-config/component/property/property-class",
                                   "propertyClass");
    digester.addBeanPropertySetter("faces-config/component/property/description");
    digester.addBeanPropertySetter("faces-config/component/property/default-value",
                                   "defaultValue");
    digester.addSetNext("faces-config/component/property", "addProperty",
                        PropertyBean.class.getName());
    

    // faces-config/component/facet
    digester.addObjectCreate("faces-config/component/facet", FacetBean.class);
    digester.addBeanPropertySetter("faces-config/component/facet/facet-name",
                                   "facetName");
    digester.addBeanPropertySetter("faces-config/component/facet/description");
    digester.addSetNext("faces-config/component/facet", "addFacet",
                        FacetBean.class.getName());

    // Maven Faces Plugin
    digester.setRuleNamespaceURI("http://myfaces.apache.org/maven-faces-plugin");

    // faces-config/component/component-extension
    digester.addBeanPropertySetter("faces-config/component/component-extension/long-description",
                                   "longDescription");
    digester.addBeanPropertySetter("faces-config/component/component-extension/component-family",
                                   "componentFamily");
    digester.addBeanPropertySetter("faces-config/component/component-extension/component-supertype",
                                   "componentSupertype");
    digester.addBeanPropertySetter("faces-config/component/component-extension/component-superclass",
                                   "componentSuperclass");
    digester.addBeanPropertySetter("faces-config/component/component-extension/renderer-type",
                                   "rendererType");
    digester.addBeanPropertySetter("faces-config/component/component-extension/naming-container",
                                   "namingContainer");
    digester.addBeanPropertySetter("faces-config/component/component-extension/accepts-child-components",
                                   "children");
    digester.addBeanPropertySetter("faces-config/component/component-extension/tag-class",
                                   "tagClass");
    digester.addBeanPropertySetter("faces-config/component/component-extension/tag-superclass",
                                   "tagSuperclass");
    digester.addBeanPropertySetter("faces-config/component/component-extension/tag-handler",
                                   "tagHandler");
    digester.addBeanPropertySetter("faces-config/component/component-extension/implementation-type",
                                   "implementationType");
    digester.addBeanPropertySetter("faces-config/component/component-extension/component-class-excluded",
                                   "componentClassExcluded");
    digester.addBeanPropertySetter("faces-config/component/component-extension/tag-class-excluded",
                                   "tagClassExcluded");
    digester.addBeanPropertySetter("faces-config/component/component-extension/component-implements",
                                   "componentImplements");
    digester.addBeanPropertySetter("faces-config/component/component-extension/component-serial-uid",
                                   "componentSerialUID");
    
    digester.addCallMethod("faces-config/component/component-extension/tag-class-modifier",
                           "parseTagClassModifier", 1);
    digester.addCallParam("faces-config/component/component-extension/tag-class-modifier", 0);
    digester.addCallMethod("faces-config/component/component-extension/unsupported-agents",
                           "parseUnsupportedAgents", 1);
    digester.addCallParam("faces-config/component/component-extension/unsupported-agents", 0);

    digester.addCallMethod("faces-config/component/component-extension/component-class-modifier",
                           "parseComponentClassModifier", 1);
    digester.addCallParam("faces-config/component/component-extension/component-class-modifier", 0);
    digester.addRule("faces-config/component/component-extension/tag-name",
                     new BeanPropertySetterRule("tagName"));
    digester.addBeanPropertySetter("faces-config/component/component-extension/uix2-local-name",
                                   "localName");
    digester.addBeanPropertySetter("faces-config/component/component-extension/uix2-node-class",
                                   "nodeClass");

    // faces-config/component/component-extension/event
    digester.addObjectCreate("faces-config/component/component-extension/event", EventRefBean.class);
    digester.addBeanPropertySetter("faces-config/component/component-extension/event/event-type",
                                   "eventType");
    digester.addBeanPropertySetter("faces-config/component/component-extension/event/event-delivery-phase",
                                   "eventDeliveryPhases");
    digester.addBeanPropertySetter("faces-config/component/component-extension/event/ignore-source-interface",
                                   "ignoreSourceInterface");
    digester.addSetNext("faces-config/component/component-extension/event", "addEvent",
                        EventRefBean.class.getName());

    // faces-config/component/property/property-extension
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/state-holder",
                                   "stateHolder");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/jsp-property-name",
                                   "jspPropertyName");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/list",
                                   "list");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/required");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/alias-of",
                                   "aliasOf");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/virtual");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/transient");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/literal-only",
                                   "literalOnly");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/enum",
                                   "enum");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/alternate-class",
                                   "alternateClass");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/tag-attribute-excluded",
                                   "tagAttributeExcluded");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/is-set-method",
                                   "isSetMethod");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/is-set-method-scope",
                                   "isSetMethodScope");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/is-get-local-method",
                                   "isGetLocalMethod");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/is-get-local-method-scope",
                                    "isGetLocalMethodScope");
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/rtexprvalue",
                                    "rtexprvalue");
    
    digester.addCallMethod("faces-config/component/property/property-extension/property-values",
                           "parsePropertyValues", 1);
    digester.addCallParam("faces-config/component/property/property-extension/property-values", 0);
    digester.addCallMethod("faces-config/component/property/property-extension/unsupported-agents",
                           "parseUnsupportedAgents", 1);
    digester.addCallParam("faces-config/component/property/property-extension/unsupported-agents", 0);
    digester.addCallMethod("faces-config/component/property/property-extension/unsupported-render-kits",
                           "parseUnsupportedRenderKits", 1);
    digester.addCallParam("faces-config/component/property/property-extension/unsupported-render-kits", 0);

    digester.addObjectCreate("faces-config/component/property/property-extension/method-binding-signature",
                             MethodSignatureBean.class);
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/method-binding-signature/return-type",
                                   "returnType");
    digester.addCallMethod("faces-config/component/property/property-extension/method-binding-signature/parameter-type",
                           "addParameterType", 1);
    digester.addCallParam("faces-config/component/property/property-extension/method-binding-signature/parameter-type", 0);
    digester.addSetNext("faces-config/component/property/property-extension/method-binding-signature",
                        "setMethodBindingSignature",
                        MethodSignatureBean.class.getName());
    // faces-config/component/property/property-extension/property-metada
    digester.addBeanPropertySetter("faces-config/component/property/property-extension/property-metadata/use-max-time",
                                   "useMaxTime");        


    // XInclude rules
    digester.setRuleNamespaceURI(XIncludeFilter.XINCLUDE_NAMESPACE);
    digester.addFactoryCreate("faces-config/component/include",
                              ComponentIncludeFactory.class);
  }