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/05/15 15:25:53 UTC
svn commit: r1103372 - in
/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder:
AbstractBackToLinkedRuleBuilder.java FromBinderRuleSet.java
LinkedRuleBuilder.java RuleProvider.java
Author: simonetripodi
Date: Sun May 15 13:25:52 2011
New Revision: 1103372
URL: http://svn.apache.org/viewvc?rev=1103372&view=rev
Log:
pattern and namespaceURI hidden to final users that have to take care only to define how rules are created, via the RuleProvider
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/AbstractBackToLinkedRuleBuilder.java
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/FromBinderRuleSet.java
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/LinkedRuleBuilder.java
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/RuleProvider.java
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/AbstractBackToLinkedRuleBuilder.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/AbstractBackToLinkedRuleBuilder.java?rev=1103372&r1=1103371&r2=1103372&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/AbstractBackToLinkedRuleBuilder.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/AbstractBackToLinkedRuleBuilder.java Sun May 15 13:25:52 2011
@@ -56,7 +56,9 @@ abstract class AbstractBackToLinkedRuleB
}
/**
- * {@inheritDoc}
+ * Returns the namespace URI for which this Rule is relevant, if any.
+ *
+ * @return The namespace URI for which this Rule is relevant, if any
*/
public final String getNamespaceURI()
{
@@ -82,7 +84,9 @@ abstract class AbstractBackToLinkedRuleB
}
/**
- * {@inheritDoc}
+ * Returns the rule pattern associated to this builder.
+ *
+ * @return The rule pattern associated to this builder
*/
public final String getPattern()
{
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/FromBinderRuleSet.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/FromBinderRuleSet.java?rev=1103372&r1=1103371&r2=1103372&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/FromBinderRuleSet.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/FromBinderRuleSet.java Sun May 15 13:25:52 2011
@@ -40,59 +40,63 @@ final class FromBinderRuleSet
/**
* The data structure where storing the providers binding.
*/
- private final Collection<RuleProvider<? extends Rule>> providers = new LinkedList<RuleProvider<? extends Rule>>();
+ private final Collection<AbstractBackToLinkedRuleBuilder<? extends Rule>> providers =
+ new LinkedList<AbstractBackToLinkedRuleBuilder<? extends Rule>>();
/**
* Index for quick-retrieve provider.
*/
- private final Map<Key, Collection<RuleProvider<? extends Rule>>> providersIndex =
- new HashMap<Key, Collection<RuleProvider<? extends Rule>>>();
+ private final Map<Key, Collection<AbstractBackToLinkedRuleBuilder<? extends Rule>>> providersIndex =
+ new HashMap<Key, Collection<AbstractBackToLinkedRuleBuilder<? extends Rule>>>();
/**
*
*
* @param <R>
- * @param <RP>
- * @param provider
+ * @param <RB>
+ * @param ruleBuilder
*/
- public <R extends Rule, RP extends RuleProvider<R>> void registerProvider( RP provider )
+ public <R extends Rule, RB extends AbstractBackToLinkedRuleBuilder<R>> void registerProvider( RB ruleBuilder )
{
- this.providers.add( provider );
+ this.providers.add( ruleBuilder );
- Key key = new Key( provider.getPattern(), provider.getNamespaceURI() );
+ Key key = new Key( ruleBuilder.getPattern(), ruleBuilder.getNamespaceURI() );
- Collection<RuleProvider<? extends Rule>> indexedProviders = this.providersIndex.get( key ); // O(1)
+ // O(1)
+ Collection<AbstractBackToLinkedRuleBuilder<? extends Rule>> indexedProviders = this.providersIndex.get( key );
if ( indexedProviders == null )
{
- indexedProviders = new ArrayList<RuleProvider<? extends Rule>>();
+ indexedProviders = new ArrayList<AbstractBackToLinkedRuleBuilder<? extends Rule>>();
this.providersIndex.put( key, indexedProviders ); // O(1)
}
- indexedProviders.add( provider );
+ indexedProviders.add( ruleBuilder );
}
/**
*
*
* @param <R>
- * @param <RP>
+ * @param <RB>
* @param keyPattern
* @param namespaceURI
* @param type
* @return
*/
- public <R extends Rule, RP extends RuleProvider<R>> RP getProvider( String keyPattern,
- /* @Nullable */String namespaceURI, Class<RP> type )
+ public <R extends Rule, RB extends AbstractBackToLinkedRuleBuilder<R>> RB getProvider( String keyPattern,
+ /* @Nullable */String namespaceURI, Class<RB> type )
{
Key key = new Key( keyPattern, namespaceURI );
- Collection<RuleProvider<? extends Rule>> indexedProviders = this.providersIndex.get( key ); // O(1)
+ // O(1)
+ Collection<AbstractBackToLinkedRuleBuilder<? extends Rule>> indexedProviders = this.providersIndex.get( key );
if ( indexedProviders == null || indexedProviders.isEmpty() )
{
return null;
}
- for ( RuleProvider<? extends Rule> ruleProvider : indexedProviders ) // FIXME O(n) not so good
+ // FIXME O(n) not so good
+ for ( AbstractBackToLinkedRuleBuilder<? extends Rule> ruleProvider : indexedProviders )
{
if ( type.isInstance( ruleProvider ) )
{
@@ -117,7 +121,7 @@ final class FromBinderRuleSet
*/
public void addRuleInstances( Digester digester )
{
- for ( RuleProvider<? extends Rule> provider : providers ) {
+ for ( AbstractBackToLinkedRuleBuilder<? extends Rule> provider : providers ) {
digester.addRule( provider.getPattern(), provider.get() );
}
}
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/LinkedRuleBuilder.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/LinkedRuleBuilder.java?rev=1103372&r1=1103371&r2=1103372&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/LinkedRuleBuilder.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/LinkedRuleBuilder.java Sun May 15 13:25:52 2011
@@ -109,7 +109,7 @@ public final class LinkedRuleBuilder
* @param provider The provider has to be stored in the data structure
* @return The provider itself has to be stored in the data structure
*/
- private <R extends Rule, RP extends RuleProvider<R>> RP addProvider( RP provider )
+ private <R extends Rule, RB extends AbstractBackToLinkedRuleBuilder<R>> RB addProvider( RB provider )
{
fromBinderRuleSet.registerProvider( provider );
return provider;
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/RuleProvider.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/RuleProvider.java?rev=1103372&r1=1103371&r2=1103372&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/RuleProvider.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/binder/RuleProvider.java Sun May 15 13:25:52 2011
@@ -28,20 +28,6 @@ public interface RuleProvider<R extends
{
/**
- * Returns the namespace URI for which this Rule is relevant, if any.
- *
- * @return The namespace URI for which this Rule is relevant, if any
- */
- String getNamespaceURI();
-
- /**
- * Returns the rule pattern associated to this builder.
- *
- * @return The rule pattern associated to this builder
- */
- String getPattern();
-
- /**
* Provides an instance of {@link Rule}. Must never return null.
*
* @return an instance of {@link Rule}.