Author: simonetripodi
Date: Sun Feb 13 01:44:50 2011
New Revision: 1070177

URL: http://svn.apache.org/viewvc?rev=1070177&view=rev
Log:
completed Set(Next|Root)Handler implementation

Modified:
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetNextHandler.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetRootHandler.java

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java?rev=1070177&r1=1070176&r2=1070177&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/AbstractMethodHandler.java
 Sun Feb 13 01:44:50 2011
@@ -106,7 +106,9 @@ abstract class AbstractMethodHandler<A e
                 && 
annotation.annotationType().isAnnotationPresent(CreationRule.class)) {
             rulesBinder.install(new FromAnnotationsRuleModule(type));
 
-            this.doBind(methodAnnotation, annotation, method, type, 
rulesBinder);
+            String pattern = Annotations.getAnnotationPattern(annotation);
+            String namespaceURI = 
Annotations.getAnnotationNamespaceURI(annotation);
+            this.doBind(pattern, namespaceURI, method, type, rulesBinder);
         } else if 
(annotation.annotationType().isAnnotationPresent(DigesterRuleList.class)) {
             // check if it is one of the *.List annotation
             Annotation[] annotations = 
Annotations.getAnnotationsArrayValue(annotation);
@@ -119,8 +121,8 @@ abstract class AbstractMethodHandler<A e
         }
     }
 
-    protected abstract void doBind(A methodAnnotation,
-            Annotation annotation,
+    protected abstract void doBind(String pattern,
+            String namespaceURI,
             Method method,
             Class<?> type,
             RulesBinder rulesBinder);

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetNextHandler.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetNextHandler.java?rev=1070177&r1=1070176&r2=1070177&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetNextHandler.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetNextHandler.java
 Sun Feb 13 01:44:50 2011
@@ -17,7 +17,6 @@
  */
 package org.apache.commons.digester3.annotations.handlers;
 
-import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 
 import org.apache.commons.digester3.RulesBinder;
@@ -28,16 +27,15 @@ import org.apache.commons.digester3.anno
  */
 public final class SetNextHandler extends AbstractMethodHandler<SetNext> {
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
-    protected void doBind(SetNext methodAnnotation,
-            Annotation annotation,
+    protected void doBind(String pattern,
+            String namespaceURI,
             Method method,
-            Class<?> type,
-            RulesBinder rulesBinder) {
-        
+            Class<?> type, RulesBinder rulesBinder) {
+        rulesBinder.forPattern(pattern)
+            .withNamespaceURI(namespaceURI)
+            .setNext(method.getName())
+            .withParameterType(type);
     }
 
 }

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetRootHandler.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetRootHandler.java?rev=1070177&r1=1070176&r2=1070177&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetRootHandler.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/SetRootHandler.java
 Sun Feb 13 01:44:50 2011
@@ -17,7 +17,6 @@
  */
 package org.apache.commons.digester3.annotations.handlers;
 
-import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 
 import org.apache.commons.digester3.RulesBinder;
@@ -32,12 +31,15 @@ public final class SetRootHandler extend
      * {@inheritDoc}
      */
     @Override
-    protected void doBind(SetRoot methodAnnotation,
-            Annotation annotation,
+    protected void doBind(String pattern,
+            String namespaceURI,
             Method method,
             Class<?> type,
             RulesBinder rulesBinder) {
-        
+        rulesBinder.forPattern(pattern)
+            .withNamespaceURI(namespaceURI)
+            .setRoot(method.getName())
+            .withParameterType(type);
     }
 
 }


Reply via email to