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/12 16:40:45 UTC

svn commit: r1070093 - in /commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3: internal/rulesbinder/FactoryCreateBuilderImpl.java rulesbinder/FactoryCreateBuilder.java

Author: simonetripodi
Date: Sat Feb 12 15:40:45 2011
New Revision: 1070093

URL: http://svn.apache.org/viewvc?rev=1070093&view=rev
Log:
fixed ofType(Class) generics, otherwise the compile get in trouble with ofType(String) method...

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

Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/FactoryCreateBuilderImpl.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/FactoryCreateBuilderImpl.java?rev=1070093&r1=1070092&r2=1070093&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/FactoryCreateBuilderImpl.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/FactoryCreateBuilderImpl.java Sat Feb 12 15:40:45 2011
@@ -51,6 +51,7 @@ final class FactoryCreateBuilderImpl
     /**
      * {@inheritDoc}
      */
+    @SuppressWarnings("unchecked") // if class not assignable, will be notified via exception
     public FactoryCreateBuilder ofType(String className) {
         if (className == null) {
             this.reportError("factoryCreate().ofType(Class<?>)", "NULL Java type not allowed");
@@ -59,7 +60,7 @@ final class FactoryCreateBuilderImpl
         try {
             Class<?> type = this.classLoader.loadClass(className);
             if (!ObjectCreationFactory.class.isAssignableFrom(type)) {
-                this.reportError("factoryCreate().ofType(Class<?>)", "NULL Java type not allowed");
+                this.reportError("factoryCreate().ofType(String)", "NULL Java type not allowed");
                 return this;
             }
 
@@ -74,7 +75,7 @@ final class FactoryCreateBuilderImpl
     /**
      * {@inheritDoc}
      */
-    public <T> FactoryCreateBuilder ofType(Class<? extends ObjectCreationFactory<T>> type) {
+    public <T, F extends ObjectCreationFactory<T>> FactoryCreateBuilder ofType(Class<F> type) {
         if (type == null) {
             this.reportError("factoryCreate().ofType(Class<?>)", "NULL Java type not allowed");
         }

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=1070093&r1=1070092&r2=1070093&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 Sat Feb 12 15:40:45 2011
@@ -41,7 +41,7 @@ public interface FactoryCreateBuilder ex
      * @param type Java class of the object creation factory class
      * @return this builder instance
      */
-    <T> FactoryCreateBuilder ofType(Class<? extends ObjectCreationFactory<T>> type);
+    <T, F extends ObjectCreationFactory<T>> FactoryCreateBuilder ofType(Class<F> type);
 
     /**
      * Construct a factory create rule using the given, already instantiated, {@link ObjectCreationFactory}.