Author: simonetripodi
Date: Tue Feb  1 16:11:16 2011
New Revision: 1066079

URL: http://svn.apache.org/viewvc?rev=1066079&view=rev
Log:
added callParam() method implementation

Modified:
    
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java

Modified: 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java?rev=1066079&r1=1066078&r2=1066079&view=diff
==============================================================================
--- 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java
 (original)
+++ 
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java
 Tue Feb  1 16:11:16 2011
@@ -532,8 +532,54 @@ final class RulesBinderImpl implements R
                 });
             }
 
+            /**
+             * 
+             */
             public CallParamBuilder callParam() {
-                return null;
+                return this.addProvider(new CallParamBuilder() {
+
+                    private int paramIndex = 0;
+
+                    private int stackIndex = 0;
+
+                    private boolean fromStack = false;
+
+                    private String attributeName;
+
+                    public CallParamRule get() {
+                        return setNamespaceAndReturn(new 
CallParamRule(paramIndex, fromStack, stackIndex, attributeName));
+                    }
+
+                    public LinkedRuleBuilder then() {
+                        return mainBuilder;
+                    }
+
+                    public CallParamBuilder withStackIndex(int stackIndex) {
+                        this.stackIndex = stackIndex;
+                        return this;
+                    }
+
+                    public CallParamBuilder ofIndex(int paramIndex) {
+                        if (paramIndex < 0) {
+                            
addError("{forPattern(\"%s\").callParam().ofIndex(int)} negative index argument 
not allowed",
+                                    keyPattern);
+                        }
+
+                        this.paramIndex = paramIndex;
+                        return this;
+                    }
+
+                    public CallParamBuilder fromStack(boolean fromStack) {
+                        this.fromStack = fromStack;
+                        return this;
+                    }
+
+                    public CallParamBuilder fromAttribute(/* @Nullable 
*/String attributeName) {
+                        this.attributeName = attributeName;
+                        return this;
+                    }
+
+                });
             }
 
             public CallMethodBuilder callMethod(String methodName) {


Reply via email to