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 );
     }
 
 }