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