Author: simonetripodi
Date: Sun Jan 30 20:41:46 2011
New Revision: 1065373

URL: http://svn.apache.org/viewvc?rev=1065373&view=rev
Log:
Builders implemented as Rule providers

Modified:
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BackToLinkedRuleBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BeanPropertySetterBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallMethodBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallParamBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/FactoryCreateBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/LinkedRuleBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectCreateBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectParamBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ParamTypeBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/PathCallParamBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertiesBuilder.java
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertyBuilder.java

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BackToLinkedRuleBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BackToLinkedRuleBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BackToLinkedRuleBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BackToLinkedRuleBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,13 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.Rule;
+import org.apache.commons.digester3.spi.RuleProvider;
+
 /**
  * Builder invoked to back to main {@link LinkedRuleBuilder}.
  */
-interface BackToLinkedRuleBuilder {
+interface BackToLinkedRuleBuilder<R extends Rule> extends RuleProvider<R> {
 
     /**
      * Come back to the main {@link LinkedRuleBuilder}.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BeanPropertySetterBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BeanPropertySetterBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BeanPropertySetterBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/BeanPropertySetterBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.BeanPropertySetterRule;
+
 /**
  * Builder chained when invoking {@link LinkedRuleBuilder#setBeanProperty()}.
  */
-public interface BeanPropertySetterBuilder extends BackToLinkedRuleBuilder {
+public interface BeanPropertySetterBuilder extends 
BackToLinkedRuleBuilder<BeanPropertySetterRule> {
 
     /**
      * Sets the name of property to set.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallMethodBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallMethodBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallMethodBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallMethodBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.CallMethodRule;
+
 /**
  * Builder chained when invoking {@link LinkedRuleBuilder#callMethod(String)}.
  */
-public interface CallMethodBuilder extends BackToLinkedRuleBuilder {
+public interface CallMethodBuilder extends 
BackToLinkedRuleBuilder<CallMethodRule> {
 
     /**
      * Sets the location of the target object.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallParamBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallParamBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallParamBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/CallParamBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.CallParamRule;
+
 /**
  * Builder chained when invoking {@link LinkedRuleBuilder#callParam(int)}.
  */
-public interface CallParamBuilder extends BackToLinkedRuleBuilder {
+public interface CallParamBuilder extends 
BackToLinkedRuleBuilder<CallParamRule> {
 
     /**
      * Sets the zero-relative parameter number.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/FactoryCreateBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/FactoryCreateBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/FactoryCreateBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/FactoryCreateBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,12 +17,13 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.FactoryCreateRule;
 import org.apache.commons.digester3.spi.ObjectCreationFactory;
 
 /**
  * Builder chained when invoking {@link 
LinkedRuleBuilder#factoryCreate(String)}.
  */
-public interface FactoryCreateBuilder extends BackToLinkedRuleBuilder {
+public interface FactoryCreateBuilder extends 
BackToLinkedRuleBuilder<FactoryCreateRule> {
 
     /**
      * Construct a factory create rule that will use the specified class name 
to create an {@link ObjectCreationFactory}

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/LinkedRuleBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/LinkedRuleBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/LinkedRuleBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/LinkedRuleBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,6 +17,9 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.SetNextRule;
+import org.apache.commons.digester3.SetRootRule;
+import org.apache.commons.digester3.SetTopRule;
 import org.apache.commons.digester3.spi.ObjectCreationFactory;
 
 /**
@@ -88,7 +91,7 @@ public interface LinkedRuleBuilder {
      *
      * @param methodName Method name of the parent method to call
      */
-    ParamTypeBuilder setNext(String methodName);
+    ParamTypeBuilder<SetNextRule> setNext(String methodName);
 
     /**
      * Sets properties on the object at the top of the stack, based on 
attributes with corresponding names.
@@ -107,13 +110,13 @@ public interface LinkedRuleBuilder {
      *
      * @param methodName Method name of the parent method to call
      */
-    ParamTypeBuilder setRoot(String methodName);
+    ParamTypeBuilder<SetRootRule> setRoot(String methodName);
 
     /**
      * Calls a "set parent" method on the top (child) object, passing the 
(top-1) (parent) object as an argument.
      *
      * @param methodName Method name of the "set parent" method to call
      */
-    ParamTypeBuilder setTop(String methodName);
+    ParamTypeBuilder<SetTopRule> setTop(String methodName);
 
 }

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.SetNestedPropertiesRule;
+
 /**
  * Builder chained when invoking {@link 
LinkedRuleBuilder#setNestedProperties()}.
  */
-public interface NestedPropertiesBuilder extends BackToLinkedRuleBuilder {
+public interface NestedPropertiesBuilder extends 
BackToLinkedRuleBuilder<SetNestedPropertiesRule> {
 
     /**
      * Allows element2property mapping to be overridden.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectCreateBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectCreateBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectCreateBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectCreateBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.ObjectCreateRule;
+
 /**
  * Builder chained when invoking {@link 
LinkedRuleBuilder#objectCreate(String)}.
  */
-public interface ObjectCreateBuilder extends BackToLinkedRuleBuilder {
+public interface ObjectCreateBuilder extends 
BackToLinkedRuleBuilder<ObjectCreateRule> {
 
     /**
      * Construct an object with the specified class name.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectParamBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectParamBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectParamBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ObjectParamBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.ObjectParamRule;
+
 /**
  * Builder chained when invoking {@link 
LinkedRuleBuilder#objectCreate(String)}.
  */
-public interface ObjectParamBuilder extends BackToLinkedRuleBuilder {
+public interface ObjectParamBuilder extends 
BackToLinkedRuleBuilder<ObjectParamRule> {
 
     /**
      * The zero-relative index of the parameter we are saving.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ParamTypeBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ParamTypeBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ParamTypeBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/ParamTypeBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,11 +17,13 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.Rule;
+
 /**
  * Builder chained when invoking {@link LinkedRuleBuilder#setNext(String)},
  * {@link LinkedRuleBuilder#setRoot(String)} or {@link 
LinkedRuleBuilder#setTop(String)}.
  */
-public interface ParamTypeBuilder extends BackToLinkedRuleBuilder {
+public interface ParamTypeBuilder<R extends Rule> extends 
BackToLinkedRuleBuilder<R> {
 
     /**
      * Sets the Java class of the method's argument.
@@ -33,7 +35,7 @@ public interface ParamTypeBuilder extend
      * @param paramType The Java class of the method's argument
      * @return this builder instance
      */
-    ParamTypeBuilder withParameterType(Class<?> paramType);
+    ParamTypeBuilder<R> withParameterType(Class<?> paramType);
 
     /**
      * Sets the Java class name of the method's argument.
@@ -45,7 +47,7 @@ public interface ParamTypeBuilder extend
      * @param paramType The Java class name of the method's argument
      * @return this builder instance
      */
-    ParamTypeBuilder withParameterType(String paramType);
+    ParamTypeBuilder<R> withParameterType(String paramType);
 
     /**
      * Sets exact matching being used.
@@ -53,6 +55,6 @@ public interface ParamTypeBuilder extend
      * @param useExactMatch The exact matching being used
      * @return this builder instance
      */
-    ParamTypeBuilder useExactMatch(boolean useExactMatch);
+    ParamTypeBuilder<R> useExactMatch(boolean useExactMatch);
 
 }

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/PathCallParamBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/PathCallParamBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/PathCallParamBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/PathCallParamBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.PathCallParamRule;
+
 /**
  * Builder chained when invoking {@link LinkedRuleBuilder#callParam(int)}.
  */
-public interface PathCallParamBuilder extends BackToLinkedRuleBuilder {
+public interface PathCallParamBuilder extends 
BackToLinkedRuleBuilder<PathCallParamRule> {
 
     /**
      * Sets the zero-relative parameter number.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertiesBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertiesBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertiesBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertiesBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.SetPropertiesRule;
+
 /**
  * Builder chained when invoking {@link 
LinkedRuleBuilder#setNestedProperties()}.
  */
-public interface SetPropertiesBuilder extends BackToLinkedRuleBuilder {
+public interface SetPropertiesBuilder extends 
BackToLinkedRuleBuilder<SetPropertiesRule> {
 
     /**
      * Add an additional attribute name to property name mapping.

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertyBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertyBuilder.java?rev=1065373&r1=1065372&r2=1065373&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertyBuilder.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/SetPropertyBuilder.java
 Sun Jan 30 20:41:46 2011
@@ -17,10 +17,12 @@
  */
 package org.apache.commons.digester3.rulesbinder;
 
+import org.apache.commons.digester3.SetPropertyRule;
+
 /**
  * Builder chained when invoking {@link LinkedRuleBuilder#setProperty(String)}.
  */
-public interface SetPropertyBuilder extends BackToLinkedRuleBuilder {
+public interface SetPropertyBuilder extends 
BackToLinkedRuleBuilder<SetPropertyRule> {
 
     /**
      * Sets the attribute that will contain the property value.


Reply via email to