Package com.nomagic.uml2.ext.jmi.reflect
Class ClassTypes
- java.lang.Object
 - 
- com.nomagic.uml2.ext.jmi.reflect.ClassTypes
 
 
- 
public class ClassTypes extends java.lang.ObjectClass has methods/table to get supertypes of given object. 
- 
- 
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBASE_PACKAGEstatic java.util.Comparator<java.lang.Class>CLASS_COMPARATORprivate static java.util.List<java.lang.Class<? extends Classifier>>classifiersCached list of all classifiers.private static java.util.Map<java.lang.String,java.lang.Class>mClassTypesByShortNameprivate static java.util.List<java.lang.Class>mNameSpacesCached list of all Namespaces types.private static java.util.Map<java.lang.Class,java.util.List<java.lang.Class>>mSubtypesprivate static java.util.Map<java.lang.Class,java.util.List<java.lang.Class>>mSubtypesNoAbstractprivate static java.util.Map<java.lang.Class,java.util.List<java.lang.Class>>mSuperTypesprivate static java.lang.ClassNULL_CLASS 
- 
Constructor Summary
Constructors Constructor Description ClassTypes() 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.Collection<java.lang.Class>expandToConcreteMetaClasses(java.util.Collection<java.lang.Class> metaClasses)Method replaces each abstract meta class with direct subclasses.static java.util.List<java.lang.Class<? extends Classifier>>getClassifiers()Returns a list of all classifiers types.static java.lang.ClassgetClassType(java.lang.String shortName)static java.lang.ClassgetClassType(java.util.List<java.lang.String> qualifiedName)static java.lang.ClassgetClassType(org.omg.mof.model.Classifier metatype)static java.util.Set<java.lang.Class>getClassTypeForShortNames(java.util.Collection<java.lang.String> names)static java.util.Set<java.lang.Class>getClassTypesForElements(java.util.Collection<? extends BaseElement> elements)static java.util.List<java.lang.Class>getDirectSubtypes(java.lang.Class type, boolean includeAbstract)Gets only direct sub-types of the type.private static java.lang.ClassgetMDClassType(java.util.List<java.lang.String> qualifiedName)static java.util.List<java.lang.Class>getNameSpaces()Returns a list of all namespaces types.static java.util.Collection<java.lang.Class>getPackagesNotProfile()Returns a list of all classifiers types.static java.lang.StringgetShortName(java.lang.Class type)static java.util.Set<java.lang.String>getShortNameForClassTypes(java.util.Collection<java.lang.Class> types)static java.util.List<java.lang.Class>getSubtypes(java.lang.Class type)static java.util.List<java.lang.Class>getSubtypes(java.lang.Class type, boolean includeAbstract)static java.util.Set<java.lang.Class>getSubtypes(java.util.Collection<java.lang.Class> types)static java.util.Set<java.lang.Class>getSubtypes(java.util.Collection<java.lang.Class> types, boolean includeAbstract)static java.lang.Class[]getSubtypesArray(java.lang.Class type)static java.lang.Class[]getSubtypesArray(java.lang.Class type, boolean includeAbstract)static java.lang.Class[]getSubtypesArray(java.util.Collection<java.lang.Class> type)static java.lang.Class[]getSubtypesArray(java.util.Collection<java.lang.Class> type, boolean includeAbstract)static java.util.List<java.lang.Class>getSupertypes(java.lang.Class type)static java.util.List<java.lang.String>getTypeQualifiedName(javax.jmi.reflect.RefBaseObject refBaseObject)Get given object meta type qualified nameprivate static booleanisDirectSubType(java.lang.Class sub, java.lang.Class sup)Tests if particular class is a direct subclass for another class.private static booleanisIDField(java.lang.reflect.Field field)static booleanisTypeOf(java.lang.Class type, java.lang.Class candidate)static voidremoveAbstract(java.util.Collection<java.lang.Class> classTypes) 
 - 
 
- 
- 
Field Detail
- 
NULL_CLASS
private static final java.lang.Class NULL_CLASS
 
- 
BASE_PACKAGE
public static final java.lang.String BASE_PACKAGE
- See Also:
 - Constant Field Values
 
 
- 
CLASS_COMPARATOR
public static java.util.Comparator<java.lang.Class> CLASS_COMPARATOR
 
- 
mSubtypes
private static final java.util.Map<java.lang.Class,java.util.List<java.lang.Class>> mSubtypes
 
- 
mSubtypesNoAbstract
private static final java.util.Map<java.lang.Class,java.util.List<java.lang.Class>> mSubtypesNoAbstract
 
- 
mSuperTypes
private static final java.util.Map<java.lang.Class,java.util.List<java.lang.Class>> mSuperTypes
 
- 
mClassTypesByShortName
private static final java.util.Map<java.lang.String,java.lang.Class> mClassTypesByShortName
 
- 
mNameSpaces
private static java.util.List<java.lang.Class> mNameSpaces
Cached list of all Namespaces types. 
- 
classifiers
private static java.util.List<java.lang.Class<? extends Classifier>> classifiers
Cached list of all classifiers. 
 - 
 
- 
Method Detail
- 
getNameSpaces
public static java.util.List<java.lang.Class> getNameSpaces()
Returns a list of all namespaces types.- Returns:
 - a list of all namespaces types.
 
 
- 
getClassifiers
public static java.util.List<java.lang.Class<? extends Classifier>> getClassifiers()
Returns a list of all classifiers types.- Returns:
 - a list of all classifiers types.
 
 
- 
getPackagesNotProfile
public static java.util.Collection<java.lang.Class> getPackagesNotProfile()
Returns a list of all classifiers types.- Returns:
 - a list of all classifiers types.
 
 
- 
getSubtypes
public static java.util.Set<java.lang.Class> getSubtypes(java.util.Collection<java.lang.Class> types)
 
- 
getSubtypes
public static java.util.Set<java.lang.Class> getSubtypes(java.util.Collection<java.lang.Class> types, boolean includeAbstract) 
- 
getSubtypes
public static java.util.List<java.lang.Class> getSubtypes(java.lang.Class type)
 
- 
getSubtypes
public static java.util.List<java.lang.Class> getSubtypes(java.lang.Class type, boolean includeAbstract) 
- 
getSubtypesArray
public static java.lang.Class[] getSubtypesArray(java.util.Collection<java.lang.Class> type)
 
- 
getSubtypesArray
public static java.lang.Class[] getSubtypesArray(java.util.Collection<java.lang.Class> type, boolean includeAbstract) 
- 
getSubtypesArray
public static java.lang.Class[] getSubtypesArray(java.lang.Class type)
 
- 
getSubtypesArray
public static java.lang.Class[] getSubtypesArray(java.lang.Class type, boolean includeAbstract) 
- 
getDirectSubtypes
public static java.util.List<java.lang.Class> getDirectSubtypes(java.lang.Class type, boolean includeAbstract)Gets only direct sub-types of the type. UsegetSubtypes(Class, boolean)get get all available sub-types.- Parameters:
 type- the super typeincludeAbstract- include abstract types- Returns:
 - collection of direct sub-types
 
 
- 
isIDField
private static boolean isIDField(java.lang.reflect.Field field)
 
- 
isDirectSubType
private static boolean isDirectSubType(java.lang.Class sub, java.lang.Class sup)Tests if particular class is a direct subclass for another class. Works only for interfaces.- Returns:
 - true if sub is a direct sub-type of sub, otherwise false
 
 
- 
getSupertypes
public static java.util.List<java.lang.Class> getSupertypes(java.lang.Class type)
 
- 
isTypeOf
public static boolean isTypeOf(java.lang.Class type, java.lang.Class candidate) 
- 
getClassType
public static java.lang.Class getClassType(org.omg.mof.model.Classifier metatype)
 
- 
getMDClassType
private static java.lang.Class getMDClassType(java.util.List<java.lang.String> qualifiedName)
 
- 
getClassType
public static java.lang.Class getClassType(java.util.List<java.lang.String> qualifiedName)
 
- 
getClassType
public static java.lang.Class getClassType(java.lang.String shortName)
 
- 
getShortName
@CheckForNull public static java.lang.String getShortName(@CheckForNull java.lang.Class type) 
- 
getClassTypesForElements
public static java.util.Set<java.lang.Class> getClassTypesForElements(java.util.Collection<? extends BaseElement> elements)
 
- 
getShortNameForClassTypes
public static java.util.Set<java.lang.String> getShortNameForClassTypes(java.util.Collection<java.lang.Class> types)
 
- 
getClassTypeForShortNames
public static java.util.Set<java.lang.Class> getClassTypeForShortNames(java.util.Collection<java.lang.String> names)
 
- 
removeAbstract
public static void removeAbstract(java.util.Collection<java.lang.Class> classTypes)
 
- 
expandToConcreteMetaClasses
public static java.util.Collection<java.lang.Class> expandToConcreteMetaClasses(java.util.Collection<java.lang.Class> metaClasses)
Method replaces each abstract meta class with direct subclasses. If subclass is abstract meta class as well then it gets replaced as well, till non abstract sub class is reached.- Returns:
 - set of unique non-abstract meta classes
 
 
- 
getTypeQualifiedName
public static java.util.List<java.lang.String> getTypeQualifiedName(javax.jmi.reflect.RefBaseObject refBaseObject)
Get given object meta type qualified name 
 - 
 
 -