Class BeanPropertySetterRule

java.lang.Object
org.apache.commons.digester3.Rule
org.apache.commons.digester3.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 Details

    • propertyName

      private String propertyName
      Set this property on the top object.
    • propertyNameFromAttribute

      private String propertyNameFromAttribute
      Extract the property name from attribute
    • bodyText

      private String bodyText
      The body text used to set the property.
  • Constructor Details

    • 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 Details

    • getPropertyName

      public String getPropertyName()
      Returns the property name associated to this setter rule.
      Returns:
      The property name associated to this setter rule
    • setPropertyNameFromAttribute

      public void setPropertyNameFromAttribute(String propertyNameFromAttribute)
      Sets the attribute name from which the property name has to be extracted.
      Parameters:
      propertyNameFromAttribute - the attribute name from which the property name has to be extracted.
      Since:
      3.0
    • getBodyText

      protected String getBodyText()
      Returns the body text used to set the property.
      Returns:
      The body text used to set the property
    • begin

      public void begin(String namespace, String name, Attributes attributes) throws Exception
      This method is called when the beginning of a matching XML element is encountered.
      Overrides:
      begin 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
      attributes - The attribute list of this element
      Throws:
      Exception - if any error occurs
    • body

      public void body(String namespace, String name, String text) throws Exception
      This method is called when the body of a matching XML element is encountered. If the element has no body, this method is called with an empty string as the body text.
      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 - if any error occurs
    • end

      public void end(String namespace, String name) throws Exception
      This method is called when the end of a matching XML element is encountered.
      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:
      Exception - if any error occurs
    • finish

      public void finish() throws Exception
      This method is called after all parsing methods have been called, to allow Rules to remove temporary data.
      Overrides:
      finish in class Rule
      Throws:
      Exception - if any error occurs
    • toString

      public String toString()
      Overrides:
      toString in class Object