Return-Path: Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: (qmail 69324 invoked from network); 2 Apr 2011 18:42:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Apr 2011 18:42:43 -0000 Received: (qmail 34192 invoked by uid 500); 2 Apr 2011 18:42:43 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 34145 invoked by uid 500); 2 Apr 2011 18:42:43 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 34136 invoked by uid 99); 2 Apr 2011 18:42:43 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Apr 2011 18:42:43 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Apr 2011 18:42:40 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 9B3102388A1C; Sat, 2 Apr 2011 18:42:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1088078 - /commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/ResourceClass.java Date: Sat, 02 Apr 2011 18:42:19 -0000 To: commits@commons.apache.org From: simonetripodi@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110402184219.9B3102388A1C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: simonetripodi Date: Sat Apr 2 18:42:19 2011 New Revision: 1088078 URL: http://svn.apache.org/viewvc?rev=1088078&view=rev Log: added generics Modified: commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/ResourceClass.java Modified: commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/ResourceClass.java URL: http://svn.apache.org/viewvc/commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/ResourceClass.java?rev=1088078&r1=1088077&r2=1088078&view=diff ============================================================================== --- commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/ResourceClass.java (original) +++ commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/ResourceClass.java Sat Apr 2 18:42:19 2011 @@ -33,15 +33,15 @@ import org.apache.commons.logging.Log; * * @author Richard A. Sitze */ -public class ResourceClass extends Resource +public class ResourceClass extends Resource { private static Log log = DiscoveryLogFactory.newLog(ResourceClass.class); public static void setLog(Log _log) { log = _log; } - protected Class resourceClass; + protected Class resourceClass; - public ResourceClass(Class resourceClass, URL resource) { + public ResourceClass(Class resourceClass, URL resource) { super(resourceClass.getName(), resource, resourceClass.getClassLoader()); this.resourceClass = resourceClass; } @@ -66,23 +66,28 @@ public class ResourceClass extends Resou * * @return value of resourceClass. */ - public Class loadClass() { + public Class loadClass() { if (resourceClass == null && getClassLoader() != null) { if (log.isDebugEnabled()) log.debug("loadClass: Loading class '" + getName() + "' with " + getClassLoader()); - resourceClass = (Class)AccessController.doPrivileged( - new PrivilegedAction() { - public Object run() { + resourceClass = AccessController.doPrivileged( + new PrivilegedAction>() { + public Class run() { try { - return getClassLoader().loadClass(getName()); + @SuppressWarnings("unchecked") // this can raise a ClassCastException at runtime + Class returned = (Class) (Class) getClassLoader().loadClass(getName()); + return returned; } catch (ClassNotFoundException e) { return null; } } }); } - return resourceClass; + + @SuppressWarnings("unchecked") // this is assumed by default, see the ctor + Class returned = (Class) resourceClass; + return returned; } public String toString() {