added missing exactMatch attribute processing for setTop, setNext and setRoot in xmlrules
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/digester/trunk@1140200 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java b/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java
index d4e04fe..e064105 100644
--- a/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java
+++ b/src/main/java/org/apache/commons/digester3/xmlrules/AbstractXmlMethodRule.java
@@ -44,14 +44,16 @@
{
String methodName = attributes.getValue( "methodname" );
String paramType = attributes.getValue( "paramtype" );
+ String exactMatch = attributes.getValue( "exactMatch" );
- bindRule( linkedRuleBuilder, methodName, paramType );
+ bindRule( linkedRuleBuilder, methodName, paramType, "true".equals( exactMatch ) );
}
/**
* @param methodName
* @return
*/
- protected abstract void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType );
+ protected abstract void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType,
+ boolean exactMatch );
}
diff --git a/src/main/java/org/apache/commons/digester3/xmlrules/SetNextRule.java b/src/main/java/org/apache/commons/digester3/xmlrules/SetNextRule.java
index 0deb839..4b31c33 100644
--- a/src/main/java/org/apache/commons/digester3/xmlrules/SetNextRule.java
+++ b/src/main/java/org/apache/commons/digester3/xmlrules/SetNextRule.java
@@ -43,7 +43,8 @@
* {@inheritDoc}
*/
@Override
- protected void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType )
+ protected void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType,
+ boolean exactMatch )
{
SetNextBuilder builder = linkedRuleBuilder.setNext( methodName );
@@ -51,6 +52,8 @@
{
builder.withParameterType( paramType );
}
+
+ builder.useExactMatch( exactMatch );
}
}
diff --git a/src/main/java/org/apache/commons/digester3/xmlrules/SetRootRule.java b/src/main/java/org/apache/commons/digester3/xmlrules/SetRootRule.java
index b4195d6..05b19f3 100644
--- a/src/main/java/org/apache/commons/digester3/xmlrules/SetRootRule.java
+++ b/src/main/java/org/apache/commons/digester3/xmlrules/SetRootRule.java
@@ -43,7 +43,8 @@
* {@inheritDoc}
*/
@Override
- protected void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType )
+ protected void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType,
+ boolean exactMatch )
{
SetRootBuilder builder = linkedRuleBuilder.setRoot( methodName );
@@ -51,6 +52,8 @@
{
builder.withParameterType( paramType );
}
+
+ builder.useExactMatch( exactMatch );
}
}
diff --git a/src/main/java/org/apache/commons/digester3/xmlrules/SetTopRule.java b/src/main/java/org/apache/commons/digester3/xmlrules/SetTopRule.java
index d941211..274263e 100644
--- a/src/main/java/org/apache/commons/digester3/xmlrules/SetTopRule.java
+++ b/src/main/java/org/apache/commons/digester3/xmlrules/SetTopRule.java
@@ -43,7 +43,8 @@
* {@inheritDoc}
*/
@Override
- protected void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType )
+ protected void bindRule( LinkedRuleBuilder linkedRuleBuilder, String methodName, String paramType,
+ boolean exactMatch )
{
SetTopBuilder builder = linkedRuleBuilder.setTop( methodName );
@@ -51,6 +52,8 @@
{
builder.withParameterType( paramType );
}
+
+ builder.useExactMatch( exactMatch );
}
}