You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2007/10/06 14:31:57 UTC
svn commit: r582486 -
/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/ClassUtils.java
Author: elecharny
Date: Sat Oct 6 05:31:57 2007
New Revision: 582486
URL: http://svn.apache.org/viewvc?rev=582486&view=rev
Log:
Removed a lot of warnings adding <?> to every class, and typing comparators
Modified:
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/ClassUtils.java
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/ClassUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/ClassUtils.java?rev=582486&r1=582485&r2=582486&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/ClassUtils.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/util/ClassUtils.java Sat Oct 6 05:31:57 2007
@@ -74,7 +74,8 @@
* Maps primitive <code>Class</code>es to their corresponding wrapper
* <code>Class</code>.
*/
- private static Map<Class,Class> primitiveWrapperMap = new HashMap<Class,Class>();
+ private static Map<Class<?>,Class<?>> primitiveWrapperMap = new HashMap<Class<?>,Class<?>>();
+
static
{
primitiveWrapperMap.put( Boolean.TYPE, Boolean.class );
@@ -137,12 +138,13 @@
* the class to get the short name for.
* @return the class name without the package name or an empty string
*/
- public static String getShortClassName( Class cls )
+ public static String getShortClassName( Class<?> cls )
{
if ( cls == null )
{
return EMPTY;
}
+
return getShortClassName( cls.getName() );
}
@@ -166,12 +168,15 @@
{
return EMPTY;
}
+
if ( className.length() == 0 )
{
return EMPTY;
}
+
char[] chars = className.toCharArray();
int lastDot = 0;
+
for ( int i = 0; i < chars.length; i++ )
{
if ( chars[i] == PACKAGE_SEPARATOR_CHAR )
@@ -183,6 +188,7 @@
chars[i] = PACKAGE_SEPARATOR_CHAR;
}
}
+
return new String( chars, lastDot, chars.length - lastDot );
}
@@ -206,6 +212,7 @@
{
return valueIfNull;
}
+
return getPackageName( object.getClass().getName() );
}
@@ -220,12 +227,13 @@
* <code>null</code>.
* @return the package name or an empty string
*/
- public static String getPackageName( Class cls )
+ public static String getPackageName( Class<?> cls )
{
if ( cls == null )
{
return EMPTY;
}
+
return getPackageName( cls.getName() );
}
@@ -252,11 +260,14 @@
{
return EMPTY;
}
+
int i = className.lastIndexOf( PACKAGE_SEPARATOR_CHAR );
+
if ( i == -1 )
{
return EMPTY;
}
+
return className.substring( 0, i );
}
@@ -273,15 +284,16 @@
* @return the <code>List</code> of superclasses in order going up from
* this one <code>null</code> if null input
*/
- public static List getAllSuperclasses( Class cls )
+ public static List<Class<?>> getAllSuperclasses( Class<?> cls )
{
if ( cls == null )
{
return null;
}
- List<Class> classes = new ArrayList<Class>();
- Class superclass = cls.getSuperclass();
+ List<Class<?>> classes = new ArrayList<Class<?>>();
+
+ Class<?> superclass = cls.getSuperclass();
while ( superclass != null )
{
@@ -310,27 +322,27 @@
* @return the <code>List</code> of interfaces in order, <code>null</code>
* if null input
*/
- public static List<Class> getAllInterfaces( Class cls )
+ public static List<Class<?>> getAllInterfaces( Class<?> cls )
{
if ( cls == null )
{
return null;
}
- List<Class> list = new ArrayList<Class>();
+ List<Class<?>> list = new ArrayList<Class<?>>();
while ( cls != null )
{
- Class[] interfaces = cls.getInterfaces();
+ Class<?>[] interfaces = cls.getInterfaces();
- for ( Class interf:interfaces )
+ for ( Class<?> interf:interfaces )
{
if ( list.contains( interf ) == false )
{
list.add( interf );
}
- for ( Class superIntf:getAllInterfaces( interf ) )
+ for ( Class<?> superIntf:getAllInterfaces( interf ) )
{
if ( list.contains( superIntf ) == false )
{
@@ -341,6 +353,7 @@
cls = cls.getSuperclass();
}
+
return list;
}
@@ -366,14 +379,14 @@
* @throws ClassCastException
* if classNames contains a non String entry
*/
- public static List convertClassNamesToClasses( List<String> classNames )
+ public static List<Class<?>> convertClassNamesToClasses( List<String> classNames )
{
if ( classNames == null )
{
return null;
}
- List<Class> classes = new ArrayList<Class>( classNames.size() );
+ List<Class<?>> classes = new ArrayList<Class<?>>( classNames.size() );
for ( String className:classNames )
{
@@ -409,7 +422,7 @@
* if <code>classes</code> contains a non-<code>Class</code>
* entry
*/
- public static List<String> convertClassesToClassNames( List<Class> classes )
+ public static List<String> convertClassesToClassNames( List<Class<?>> classes )
{
if ( classes == null )
{
@@ -418,7 +431,7 @@
List<String> classNames = new ArrayList<String>( classes.size() );
- for ( Class clazz:classes )
+ for ( Class<?> clazz:classes )
{
if ( clazz == null )
{
@@ -478,20 +491,23 @@
* <code>null</code>
* @return <code>true</code> if assignment possible
*/
- public static boolean isAssignable( Class[] classArray, Class[] toClassArray )
+ public static boolean isAssignable( Class<?>[] classArray, Class<?>[] toClassArray )
{
if ( ArrayUtils.isSameLength( classArray, toClassArray ) == false )
{
return false;
}
+
if ( classArray == null )
{
classArray = ArrayUtils.EMPTY_CLASS_ARRAY;
}
+
if ( toClassArray == null )
{
toClassArray = ArrayUtils.EMPTY_CLASS_ARRAY;
}
+
for ( int i = 0; i < classArray.length; i++ )
{
if ( isAssignable( classArray[i], toClassArray[i] ) == false )
@@ -499,6 +515,7 @@
return false;
}
}
+
return true;
}
@@ -537,65 +554,78 @@
* the Class to try to assign into, returns false if null
* @return <code>true</code> if assignment possible
*/
- public static boolean isAssignable( Class cls, Class toClass )
+ public static boolean isAssignable( Class<?> cls, Class<?> toClass )
{
if ( toClass == null )
{
return false;
}
+
// have to check for null, as isAssignableFrom doesn't
if ( cls == null )
{
return !( toClass.isPrimitive() );
}
+
if ( cls.equals( toClass ) )
{
return true;
}
+
if ( cls.isPrimitive() )
{
if ( toClass.isPrimitive() == false )
{
return false;
}
+
if ( Integer.TYPE.equals( cls ) )
{
return Long.TYPE.equals( toClass ) || Float.TYPE.equals( toClass ) || Double.TYPE.equals( toClass );
}
+
if ( Long.TYPE.equals( cls ) )
{
return Float.TYPE.equals( toClass ) || Double.TYPE.equals( toClass );
}
+
if ( Boolean.TYPE.equals( cls ) )
{
return false;
}
+
if ( Double.TYPE.equals( cls ) )
{
return false;
}
+
if ( Float.TYPE.equals( cls ) )
{
return Double.TYPE.equals( toClass );
}
+
if ( Character.TYPE.equals( cls ) )
{
return Integer.TYPE.equals( toClass ) || Long.TYPE.equals( toClass ) || Float.TYPE.equals( toClass )
|| Double.TYPE.equals( toClass );
}
+
if ( Short.TYPE.equals( cls ) )
{
return Integer.TYPE.equals( toClass ) || Long.TYPE.equals( toClass ) || Float.TYPE.equals( toClass )
|| Double.TYPE.equals( toClass );
}
+
if ( Byte.TYPE.equals( cls ) )
{
return Short.TYPE.equals( toClass ) || Integer.TYPE.equals( toClass ) || Long.TYPE.equals( toClass )
|| Float.TYPE.equals( toClass ) || Double.TYPE.equals( toClass );
}
+
// should never get here
return false;
}
+
return toClass.isAssignableFrom( cls );
}
@@ -612,13 +642,15 @@
* <code>cls</code> is not a primitive. <code>null</code> if
* null input.
*/
- public static Class primitiveToWrapper( Class cls )
+ public static Class<?> primitiveToWrapper( Class<?> cls )
{
- Class convertedClass = cls;
+ Class<?> convertedClass = cls;
+
if ( cls != null && cls.isPrimitive() )
{
convertedClass = primitiveWrapperMap.get( cls );
}
+
return convertedClass;
}
@@ -636,7 +668,7 @@
* <code>null</code> if null input. Empty array if an empty array
* passed in.
*/
- public static Class[] primitivesToWrappers( Class[] classes )
+ public static Class<?>[] primitivesToWrappers( Class<?>[] classes )
{
if ( classes == null )
{
@@ -648,11 +680,13 @@
return ArrayUtils.EMPTY_CLASS_ARRAY;
}
- Class[] convertedClasses = new Class[classes.length];
+ Class<?>[] convertedClasses = new Class[classes.length];
+
for ( int i = 0; i < classes.length; i++ )
{
convertedClasses[i] = primitiveToWrapper( classes[i] );
}
+
return convertedClasses;
}
@@ -669,12 +703,13 @@
* @return <code>true</code> if the class is an inner or static nested
* class, false if not or <code>null</code>
*/
- public static boolean isInnerClass( Class cls )
+ public static boolean isInnerClass( Class<?> cls )
{
if ( cls == null )
{
return false;
}
+
return ( cls.getName().indexOf( INNER_CLASS_SEPARATOR_CHAR ) >= 0 );
}
@@ -682,7 +717,7 @@
/**
* Compares two <code>Class</code>s by name.
*/
- private static class ClassNameComparator implements Comparator
+ private static class ClassNameComparator implements Comparator<Class<?>>
{
/**
* Compares two <code>Class</code>s by name.
@@ -691,18 +726,18 @@
* If <code>o1</code> or <code>o2</code> are not
* <code>Class</code> instances.
*/
- public int compare( Object o1, Object o2 )
+ public int compare( Class<?> class1, Class<?> class2 )
{
- Class class1 = ( Class ) o1;
- Class class2 = ( Class ) o2;
if ( class1 == null )
{
return class2 == null ? 0 : -1;
}
+
if ( class2 == null )
{
return 1;
}
+
return class1.getName().compareTo( class2.getName() );
}
}
@@ -710,12 +745,12 @@
/**
* Compares two <code>Class</code>s by name.
*/
- public static final Comparator CLASS_NAME_COMPARATOR = new ClassNameComparator();
+ public static final Comparator<Class<?>> CLASS_NAME_COMPARATOR = new ClassNameComparator();
/**
* Compares two <code>Package</code>s by name.
*/
- private static class PackageNameComparator implements Comparator
+ private static class PackageNameComparator implements Comparator<Package>
{
/**
@@ -725,18 +760,18 @@
* If <code>o1</code> or <code>o2</code> are not
* <code>Package</code> instances.
*/
- public int compare( Object o1, Object o2 )
+ public int compare( Package package1, Package package2 )
{
- Package package1 = ( Package ) o1;
- Package package2 = ( Package ) o2;
if ( package1 == null )
{
return package2 == null ? 0 : -1;
}
+
if ( package2 == null )
{
return 1;
}
+
return package1.getName().compareTo( package2.getName() );
}
}
@@ -744,6 +779,6 @@
/**
* Compares two <code>Package</code>s by name.
*/
- public static final Comparator PACKAGE_NAME_COMPARATOR = new PackageNameComparator();
+ public static final Comparator<Package> PACKAGE_NAME_COMPARATOR = new PackageNameComparator();
}