org.eclipse.gmt.umlx.utils
Class ClassUtils

java.lang.Object
  extended by org.eclipse.gmt.umlx.utils.ClassUtils

public class ClassUtils
extends java.lang.Object


Constructor Summary
ClassUtils()
           
 
Method Summary
static
<T> java.lang.Class<? extends T>
asSubclass(java.lang.Class<?> candidateType, java.lang.Class<T> referenceType)
          Return candidateType with a constrained type if it can be assigned to referenceType or null otherwise.
static
<T> java.lang.Class<? super T>
asSuperclass(java.lang.Class<?> candidateType, java.lang.Class<T> referenceType)
           
static
<T> T
castOrLogTo(java.lang.Object object, java.lang.Class<T> objectClass)
          Return object cast to objectClass, logging any failures
static
<T> T
castOrNullTo(java.lang.Object object, java.lang.Class<T> objectClass)
          Return object cast to objectClass.
static
<T,Q extends T>
java.lang.Class<Q>
castTo(java.lang.Class<?> sourceClass, java.lang.Class<T> targetClass)
          Return sourceClass cast to targetClass.
static
<T> T
castTo(java.lang.Object object, java.lang.Class<T> objectClass)
          Return object cast to objectClass.
static
<T> T
castWithoutValidationTo(java.lang.Object object, T nullObject)
           
static
<T extends java.util.Vector<?>>
T
clone(T anObject)
           
static java.lang.String encodeString(java.lang.String string, int maxLength)
           
static
<T> T
getAdapter(org.eclipse.core.runtime.IAdaptable adaptable, java.lang.Class<T> adaptedClass)
           
static
<T> java.lang.Class<T>
getClass(T anObject)
          Return the generic class of anObject.
static
<T> T
isInstanceOf(java.lang.Object anObject, java.lang.Class<T> aClass)
          Return anObject cast to aClass if type-safe or null otherwise.
static
<T> java.lang.Class<? super T>
selectMostDerivedClass(java.util.Collection<java.lang.Class<? super T>> candidateClasses)
           
static
<T,U> java.util.List<java.lang.Class<? super T>>
selectSuperClasses(java.util.Collection<java.lang.Class<? extends U>> candidateClasses, java.lang.Class<T> referenceClass)
           
static java.lang.String toDebugString(java.lang.Object object)
          Return a message fragment to assist a developer in understanding the usage of object
static java.lang.String toUserString(java.lang.Object object)
          Return a message fragment to assist a user in understanding the usage of object
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassUtils

public ClassUtils()
Method Detail

asSubclass

public static <T> java.lang.Class<? extends T> asSubclass(java.lang.Class<?> candidateType,
                                                          java.lang.Class<T> referenceType)
Return candidateType with a constrained type if it can be assigned to referenceType or null otherwise.

Type Parameters:
T -
Parameters:
candidateType -
referenceType -
Returns:
constrained type

asSuperclass

public static <T> java.lang.Class<? super T> asSuperclass(java.lang.Class<?> candidateType,
                                                          java.lang.Class<T> referenceType)

castOrLogTo

public static <T> T castOrLogTo(java.lang.Object object,
                                java.lang.Class<T> objectClass)
Return object cast to objectClass, logging any failures

Parameters:
object - to cast.
objectClass - to cast to.
Returns:
cast object or null

castOrNullTo

public static <T> T castOrNullTo(java.lang.Object object,
                                 java.lang.Class<T> objectClass)
Return object cast to objectClass.

Parameters:
object - to cast.
objectClass - to cast to.
Returns:
cast object or null

castTo

public static <T> T castTo(java.lang.Object object,
                           java.lang.Class<T> objectClass)
Return object cast to objectClass.

Parameters:
object - to cast.
objectClass - to cast to.
Returns:
cast object
Throws:
java.lang.ClassCastException - if object not assignable to objectClass.

castTo

public static <T,Q extends T> java.lang.Class<Q> castTo(java.lang.Class<?> sourceClass,
                                                        java.lang.Class<T> targetClass)
Return sourceClass cast to targetClass.

Parameters:
sourceClass - to cast from.
targetClass - to cast to.
Returns:
cast class
Throws:
java.lang.ClassCastException - if object not assignable to objectClass.

castWithoutValidationTo

public static <T> T castWithoutValidationTo(java.lang.Object object,
                                            T nullObject)

clone

public static <T extends java.util.Vector<?>> T clone(T anObject)

encodeString

public static java.lang.String encodeString(java.lang.String string,
                                            int maxLength)

getAdapter

public static <T> T getAdapter(org.eclipse.core.runtime.IAdaptable adaptable,
                               java.lang.Class<T> adaptedClass)

getClass

public static <T> java.lang.Class<T> getClass(T anObject)
Return the generic class of anObject.

Parameters:
anObject - for which class required
Returns:
the class

isInstanceOf

public static <T> T isInstanceOf(java.lang.Object anObject,
                                 java.lang.Class<T> aClass)
Return anObject cast to aClass if type-safe or null otherwise.

Parameters:
anObject - for which cast required
aClass - the type to which cast required
Returns:
the non-null cast of anObject if safe

selectSuperClasses

public static <T,U> java.util.List<java.lang.Class<? super T>> selectSuperClasses(java.util.Collection<java.lang.Class<? extends U>> candidateClasses,
                                                                                  java.lang.Class<T> referenceClass)

selectMostDerivedClass

public static <T> java.lang.Class<? super T> selectMostDerivedClass(java.util.Collection<java.lang.Class<? super T>> candidateClasses)

toDebugString

public static java.lang.String toDebugString(java.lang.Object object)
Return a message fragment to assist a developer in understanding the usage of object

Parameters:
object - to diagnose
Returns:
message fragment

toUserString

public static java.lang.String toUserString(java.lang.Object object)
Return a message fragment to assist a user in understanding the usage of object

Parameters:
object - to diagnose
Returns:
message fragment