Class BeanPropertySetterRule


  • public class BeanPropertySetterRule
    extends Rule

    Rule implements sets a bean property on the top object to the body text.

    The property set:

    • can be specified when the rule is created
    • or can match the current element when the rule is called.

    Using the second method and the ExtendedBaseRules child match pattern, all the child elements can be automatically mapped to properties on the parent object.

    • Field Detail

      • propertyName

        protected String propertyName
        Set this property on the top object.
      • bodyText

        protected String bodyText
        The body text used to set the property.
    • Constructor Detail

      • BeanPropertySetterRule

        public BeanPropertySetterRule​(String propertyName)

        Construct rule that sets the given property from the body text.

        Parameters:
        propertyName - name of property to set
      • BeanPropertySetterRule

        public BeanPropertySetterRule()

        Construct rule that automatically sets a property from the body text.

        This construct creates a rule that sets the property on the top object named the same as the current element.

    • Method Detail

      • body

        public void body​(String namespace,
                         String name,
                         String text)
                  throws Exception
        Process the body text of this element.
        Overrides:
        body in class Rule
        Parameters:
        namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
        name - the local name if the parser is namespace aware, or just the element name otherwise
        text - The text of the body of this element
        Throws:
        Exception
      • end

        public void end​(String namespace,
                        String name)
                 throws Exception
        Process the end of this element.
        Overrides:
        end in class Rule
        Parameters:
        namespace - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
        name - the local name if the parser is namespace aware, or just the element name otherwise
        Throws:
        NoSuchMethodException - if the bean does not have a writeable property of the specified name
        Exception
      • toString

        public String toString()
        Render a printable version of this Rule.
        Overrides:
        toString in class Object