org.apache.commons.digester3
Class BeanPropertySetterRule

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

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


Constructor Summary
BeanPropertySetterRule()
           Construct rule that automatically sets a property from the body text.
BeanPropertySetterRule(String propertyName)
           Construct rule that sets the given property from the body text.
 
Method Summary
 void begin(String namespace, String name, Attributes attributes)
          This method is called when the beginning of a matching XML element is encountered.
 void body(String namespace, String name, String text)
          This method is called when the body of a matching XML element is encountered.
 void end(String namespace, String name)
          This method is called when the end of a matching XML element is encountered.
 void finish()
          This method is called after all parsing methods have been called, to allow Rules to remove temporary data.
protected  String getBodyText()
          Returns the body text used to set the property.
 String getPropertyName()
          Returns the property name associated to this setter rule.
 void setPropertyNameFromAttribute(String propertyNameFromAttribute)
          Sets the attribute name from which the property name has to be extracted.
 String toString()
          
 
Methods inherited from class org.apache.commons.digester3.Rule
getDigester, getNamespaceURI, setDigester, setNamespaceURI
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

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


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.