Removed Commons Lang references and refined Java 5+ implementation details
This commit is contained in:
@@ -34,10 +34,8 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Miscellaneous class utility methods. Mainly for internal use within the
|
||||
* framework; consider
|
||||
* <a href="http://commons.apache.org/lang/" target="_blank">Apache Commons Lang</a>
|
||||
* for a more comprehensive suite of class utilities.
|
||||
* Miscellaneous class utility methods.
|
||||
* Mainly for internal use within the framework.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @author Keith Donald
|
||||
@@ -803,7 +801,7 @@ public abstract class ClassUtils {
|
||||
* @param method the method to check
|
||||
* @param targetClass the target class to check against
|
||||
*/
|
||||
private static boolean isOverridable(Method method, Class targetClass) {
|
||||
private static boolean isOverridable(Method method, Class<?> targetClass) {
|
||||
if (Modifier.isPrivate(method.getModifiers())) {
|
||||
return false;
|
||||
}
|
||||
@@ -816,7 +814,7 @@ public abstract class ClassUtils {
|
||||
/**
|
||||
* Return a public static method of a class.
|
||||
* @param methodName the static method name
|
||||
* @param clazz the class which defines the method
|
||||
* @param clazz the class which defines the method
|
||||
* @param args the parameter types to the method
|
||||
* @return the static method, or {@code null} if no static method was found
|
||||
* @throws IllegalArgumentException if the method name is blank or the clazz is null
|
||||
@@ -906,13 +904,13 @@ public abstract class ClassUtils {
|
||||
return true;
|
||||
}
|
||||
if (lhsType.isPrimitive()) {
|
||||
Class resolvedPrimitive = primitiveWrapperTypeMap.get(rhsType);
|
||||
Class<?> resolvedPrimitive = primitiveWrapperTypeMap.get(rhsType);
|
||||
if (resolvedPrimitive != null && lhsType.equals(resolvedPrimitive)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
Class resolvedWrapper = primitiveTypeToWrapperMap.get(rhsType);
|
||||
Class<?> resolvedWrapper = primitiveTypeToWrapperMap.get(rhsType);
|
||||
if (resolvedWrapper != null && lhsType.isAssignableFrom(resolvedWrapper)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -21,10 +21,7 @@ import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Miscellaneous object utility methods.
|
||||
*
|
||||
* <p>Mainly for internal use within the framework; consider
|
||||
* <a href="http://jakarta.apache.org/commons/lang/">Jakarta's Commons Lang</a>
|
||||
* for a more comprehensive suite of object utilities.
|
||||
* Mainly for internal use within the framework.
|
||||
*
|
||||
* <p>Thanks to Alex Ruiz for contributing several enhancements to this class!
|
||||
*
|
||||
@@ -34,7 +31,6 @@ import java.util.Arrays;
|
||||
* @author Rob Harrop
|
||||
* @author Chris Beams
|
||||
* @since 19.03.2004
|
||||
* @see org.apache.commons.lang.ObjectUtils
|
||||
*/
|
||||
public abstract class ObjectUtils {
|
||||
|
||||
@@ -69,17 +65,15 @@ public abstract class ObjectUtils {
|
||||
* @param declaredExceptions the exceptions declared in the throws clause
|
||||
* @return whether the given exception is compatible
|
||||
*/
|
||||
public static boolean isCompatibleWithThrowsClause(Throwable ex, Class[] declaredExceptions) {
|
||||
public static boolean isCompatibleWithThrowsClause(Throwable ex, Class<?>... declaredExceptions) {
|
||||
if (!isCheckedException(ex)) {
|
||||
return true;
|
||||
}
|
||||
if (declaredExceptions != null) {
|
||||
int i = 0;
|
||||
while (i < declaredExceptions.length) {
|
||||
if (declaredExceptions[i].isAssignableFrom(ex.getClass())) {
|
||||
for (Class<?> declaredException : declaredExceptions) {
|
||||
if (declaredException.isAssignableFrom(ex.getClass())) {
|
||||
return true;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -218,7 +212,7 @@ public abstract class ObjectUtils {
|
||||
if (length == 0) {
|
||||
return new Object[0];
|
||||
}
|
||||
Class wrapperType = Array.get(source, 0).getClass();
|
||||
Class<?> wrapperType = Array.get(source, 0).getClass();
|
||||
Object[] newArray = (Object[]) Array.newInstance(wrapperType, length);
|
||||
for (int i = 0; i < length; i++) {
|
||||
newArray[i] = Array.get(source, i);
|
||||
@@ -286,7 +280,7 @@ public abstract class ObjectUtils {
|
||||
|
||||
/**
|
||||
* Return as hash code for the given object; typically the value of
|
||||
* {@code {@link Object#hashCode()}}. If the object is an array,
|
||||
* {@code Object#hashCode()}}. If the object is an array,
|
||||
* this method will delegate to any of the {@code nullSafeHashCode}
|
||||
* methods for arrays in this class. If the object is {@code null},
|
||||
* this method returns 0.
|
||||
@@ -345,9 +339,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + nullSafeHashCode(array[i]);
|
||||
for (Object element : array) {
|
||||
hash = MULTIPLIER * hash + nullSafeHashCode(element);
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -361,9 +354,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + hashCode(array[i]);
|
||||
for (boolean element : array) {
|
||||
hash = MULTIPLIER * hash + hashCode(element);
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -377,9 +369,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + array[i];
|
||||
for (byte element : array) {
|
||||
hash = MULTIPLIER * hash + element;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -393,9 +384,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + array[i];
|
||||
for (char element : array) {
|
||||
hash = MULTIPLIER * hash + element;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -409,9 +399,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + hashCode(array[i]);
|
||||
for (double element : array) {
|
||||
hash = MULTIPLIER * hash + hashCode(element);
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -425,9 +414,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + hashCode(array[i]);
|
||||
for (float element : array) {
|
||||
hash = MULTIPLIER * hash + hashCode(element);
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -441,9 +429,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + array[i];
|
||||
for (int element : array) {
|
||||
hash = MULTIPLIER * hash + element;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -457,9 +444,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + hashCode(array[i]);
|
||||
for (long element : array) {
|
||||
hash = MULTIPLIER * hash + hashCode(element);
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -473,9 +459,8 @@ public abstract class ObjectUtils {
|
||||
return 0;
|
||||
}
|
||||
int hash = INITIAL_HASH;
|
||||
int arraySize = array.length;
|
||||
for (int i = 0; i < arraySize; i++) {
|
||||
hash = MULTIPLIER * hash + array[i];
|
||||
for (short element : array) {
|
||||
hash = MULTIPLIER * hash + element;
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
@@ -485,7 +470,7 @@ public abstract class ObjectUtils {
|
||||
* @see Boolean#hashCode()
|
||||
*/
|
||||
public static int hashCode(boolean bool) {
|
||||
return bool ? 1231 : 1237;
|
||||
return (bool ? 1231 : 1237);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -493,8 +478,7 @@ public abstract class ObjectUtils {
|
||||
* @see Double#hashCode()
|
||||
*/
|
||||
public static int hashCode(double dbl) {
|
||||
long bits = Double.doubleToLongBits(dbl);
|
||||
return hashCode(bits);
|
||||
return hashCode(Double.doubleToLongBits(dbl));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user