You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2007/02/24 16:35:53 UTC
svn commit: r511285 -
/myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/util/ClassUtils.java
Author: mbr
Date: Sat Feb 24 07:35:53 2007
New Revision: 511285
URL: http://svn.apache.org/viewvc?view=rev&rev=511285
Log:
added newInstance(String, Class) method to support type check
Modified:
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/util/ClassUtils.java
Modified: myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/util/ClassUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/util/ClassUtils.java?view=diff&rev=511285&r1=511284&r2=511285
==============================================================================
--- myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/util/ClassUtils.java (original)
+++ myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/util/ClassUtils.java Sat Feb 24 07:35:53 2007
@@ -263,6 +263,27 @@
return newInstance(simpleClassForName(type));
}
+ public static Object newInstance(String type, Class expectedType) throws FacesException
+ {
+ if (expectedType == null)
+ {
+ throw new IllegalArgumentException(
+ "expected type must not be null.");
+ }
+ if (type == null)
+ return null;
+
+ Class clazzForName = simpleClassForName(type);
+
+ if (!expectedType.isAssignableFrom(clazzForName))
+ {
+ throw new FacesException("'" + type
+ + "' does not implement expected type '" + expectedType
+ + "'");
+ }
+
+ return newInstance(clazzForName);
+ }
public static Object newInstance(Class clazz)
throws FacesException