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.Object
Class has methods/table to get supertypes of given object.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BASE_PACKAGE
static java.util.Comparator<java.lang.Class>
CLASS_COMPARATOR
private static java.util.List<java.lang.Class<? extends Classifier>>
classifiers
Cached list of all classifiers.private static java.util.Map<java.lang.String,java.lang.Class>
mClassTypesByShortName
private static java.util.List<java.lang.Class>
mNameSpaces
Cached list of all Namespaces types.private static java.util.Map<java.lang.Class,java.util.List<java.lang.Class>>
mSubtypes
private static java.util.Map<java.lang.Class,java.util.List<java.lang.Class>>
mSubtypesNoAbstract
private static java.util.Map<java.lang.Class,java.util.List<java.lang.Class>>
mSuperTypes
private static java.lang.Class
NULL_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.Class
getClassType(java.lang.String shortName)
static java.lang.Class
getClassType(java.util.List<java.lang.String> qualifiedName)
static java.lang.Class
getClassType(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.Class
getMDClassType(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.String
getShortName(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 boolean
isDirectSubType(java.lang.Class sub, java.lang.Class sup)
Tests if particular class is a direct subclass for another class.private static boolean
isIDField(java.lang.reflect.Field field)
static boolean
isTypeOf(java.lang.Class type, java.lang.Class candidate)
static void
removeAbstract(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
-
-