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