/** * convenience method for java's isAssignableFrom that allows auto-boxing but follows more closely Java's * Class.isAssignableFrom method results, and returns true if either arguments is null. */ public boolean isStrictlyAssignableFrom(Object left, Object right) { if ((left == null) || (right == null)) { return true; } // check for identical types if (left == right) { return true; } if (left == ClassConstants.OBJECT) { return true; } Class leftClass = getJavaClass(left); Class rightClass = getJavaClass(right); if ( leftClass.isPrimitive() ){ leftClass = this.getWrapperClass(leftClass); } if ( rightClass.isPrimitive() ){ rightClass = this.getWrapperClass(rightClass); } // check for inheritance and implements return leftClass.isAssignableFrom(rightClass); }
/** * convenience method for java's isAssignableFrom that allows auto-boxing but follows more closely Java's * Class.isAssignableFrom method results, and returns true if either arguments is null. */ public boolean isStrictlyAssignableFrom(Object left, Object right) { if ((left == null) || (right == null)) { return true; } // check for identical types if (left == right) { return true; } if (left == ClassConstants.OBJECT) { return true; } Class leftClass = getJavaClass(left); Class rightClass = getJavaClass(right); if ( leftClass.isPrimitive() ){ leftClass = this.getWrapperClass(leftClass); } if ( rightClass.isPrimitive() ){ rightClass = this.getWrapperClass(rightClass); } // check for inheritance and implements return leftClass.isAssignableFrom(rightClass); }
/** * convenience method for java's isAssignableFrom that allows auto-boxing but follows more closely Java's * Class.isAssignableFrom method results, and returns true if either arguments is null. */ public boolean isStrictlyAssignableFrom(Object left, Object right) { if ((left == null) || (right == null)) { return true; } // check for identical types if (left == right) { return true; } if (left == ClassConstants.OBJECT) { return true; } Class leftClass = getJavaClass(left); Class rightClass = getJavaClass(right); if ( leftClass.isPrimitive() ){ leftClass = this.getWrapperClass(leftClass); } if ( rightClass.isPrimitive() ){ rightClass = this.getWrapperClass(rightClass); } // check for inheritance and implements return leftClass.isAssignableFrom(rightClass); }
promoted = getWrapperClass(promoted);
promoted = getWrapperClass(promoted);
promoted = getWrapperClass(promoted);