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.