You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/02/11 21:38:15 UTC

svn commit: r1069949 - /commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/LinkedRuleBuilderImpl.java

Author: simonetripodi
Date: Fri Feb 11 20:38:15 2011
New Revision: 1069949

URL: http://svn.apache.org/viewvc?rev=1069949&view=rev
Log:
cached rule providers that allow aliases definition, so system that generate rule bindings dynamically don't need to take care of collecting aliases first

Modified:
    commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/LinkedRuleBuilderImpl.java

Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/LinkedRuleBuilderImpl.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/LinkedRuleBuilderImpl.java?rev=1069949&r1=1069948&r2=1069949&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/LinkedRuleBuilderImpl.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/LinkedRuleBuilderImpl.java Fri Feb 11 20:38:15 2011
@@ -134,6 +134,12 @@ final class LinkedRuleBuilderImpl implem
      * {@inheritDoc}
      */
     public NestedPropertiesBuilder setNestedProperties() {
+        // that would be useful when adding rules via automatically generated rules binding (such annotations)
+        NestedPropertiesBuilder nestedPropertiesBuilder = this.providersRegistry.getProvider(this.keyPattern, NestedPropertiesBuilder.class);
+        if (nestedPropertiesBuilder != null) {
+            return nestedPropertiesBuilder;
+        }
+
         return this.addProvider(new NestedPropertiesBuilderImpl(this.keyPattern, this.namespaceURI, this.mainBinder, this));
     }
 
@@ -153,6 +159,12 @@ final class LinkedRuleBuilderImpl implem
      * {@inheritDoc}
      */
     public SetPropertiesBuilder setProperties() {
+        // that would be useful when adding rules via automatically generated rules binding (such annotations)
+        SetPropertiesBuilder setPropertiesBuilder = this.providersRegistry.getProvider(this.keyPattern, SetPropertiesBuilder.class);
+        if (setPropertiesBuilder != null) {
+            return setPropertiesBuilder;
+        }
+
         return this.addProvider(new SetPropertiesBuilderImpl(this.keyPattern, this.namespaceURI, this.mainBinder, this));
     }