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<? extends Element>>
CLASS_COMPARATOR
private static java.util.Map<java.lang.String,java.lang.Class<? extends Element>>
CLASS_TYPES_BY_SHORT_NAME
private static java.util.List<java.lang.Class<? extends Classifier>>
classifiers
Cached list of all classifiers.private static java.util.List<java.lang.Class<? extends Element>>
nameSpaces
Cached list of all Namespaces types.private static java.lang.Class
NULL_CLASS
private static java.util.Map<java.lang.Class<? extends Element>,java.util.List<java.lang.Class<? extends Element>>>
SUBTYPES
private static java.util.Map<java.lang.Class<? extends Element>,java.util.List<java.lang.Class<? extends Element>>>
SUBTYPES_NO_ABSTRACT
private static java.util.Map<java.lang.Class<? extends Element>,java.util.List<java.lang.Class<? extends Element>>>
SUPER_TYPES
private static java.util.Set<java.lang.String>
UML_METACLASSES_NAMES
Names of all metaclasses from UML metamodel.
-
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<? extends Element>>
expandToConcreteMetaClasses(java.util.Collection<java.lang.Class<? extends Element>> 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<? extends Element>
getClassType(java.lang.String shortName)
static java.lang.Class<? extends Element>
getClassType(java.util.List<java.lang.String> qualifiedName)
static java.lang.Class<? extends Element>
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 <T extends Element>
java.util.List<java.lang.Class<? extends Element>>getDirectSubtypes(java.lang.Class<T> type, boolean includeAbstract)
Gets only direct sub-types of the type.private static java.lang.Class<? extends Element>
getMDClassType(java.util.List<java.lang.String> qualifiedName)
static java.util.List<java.lang.Class<? extends Element>>
getNameSpaces()
Returns a list of all namespaces types.static java.util.Collection<java.lang.Class<? extends Element>>
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<? extends Element>>
getSubtypes(java.lang.Class<? extends Element> type)
static java.util.List<java.lang.Class<? extends Element>>
getSubtypes(java.lang.Class<? extends Element> type, boolean includeAbstract)
static <T extends Element>
java.util.Set<java.lang.Class<? extends Element>>getSubtypes(java.util.Collection<java.lang.Class<T>> types)
static <T extends Element>
java.util.Set<java.lang.Class<? extends Element>>getSubtypes(java.util.Collection<java.lang.Class<T>> types, boolean includeAbstract)
static <T extends Element>
java.lang.Class<T>[]getSubtypesArray(java.lang.Class<T> type)
static <T extends Element>
java.lang.Class<T>[]getSubtypesArray(java.lang.Class<T> type, boolean includeAbstract)
static <T extends Element>
java.lang.Class<T>[]getSubtypesArray(java.util.Collection<java.lang.Class<T>> type)
static <T extends Element>
java.lang.Class<T>[]getSubtypesArray(java.util.Collection<java.lang.Class<T>> type, boolean includeAbstract)
static <T extends Element>
java.util.List<java.lang.Class<? extends Element>>getSupertypes(java.lang.Class<T> 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<? extends Element> type, java.lang.Class<? extends Element> 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<? extends Element>> CLASS_COMPARATOR
-
SUBTYPES
private static final java.util.Map<java.lang.Class<? extends Element>,java.util.List<java.lang.Class<? extends Element>>> SUBTYPES
-
SUBTYPES_NO_ABSTRACT
private static final java.util.Map<java.lang.Class<? extends Element>,java.util.List<java.lang.Class<? extends Element>>> SUBTYPES_NO_ABSTRACT
-
SUPER_TYPES
private static final java.util.Map<java.lang.Class<? extends Element>,java.util.List<java.lang.Class<? extends Element>>> SUPER_TYPES
-
CLASS_TYPES_BY_SHORT_NAME
private static final java.util.Map<java.lang.String,java.lang.Class<? extends Element>> CLASS_TYPES_BY_SHORT_NAME
-
UML_METACLASSES_NAMES
private static java.util.Set<java.lang.String> UML_METACLASSES_NAMES
Names of all metaclasses from UML metamodel.
-
nameSpaces
private static java.util.List<java.lang.Class<? extends Element>> nameSpaces
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<? extends Element>> 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<? extends Element>> getPackagesNotProfile()
Returns a list of all classifiers types.- Returns:
- a list of all classifiers types.
-
getSubtypes
public static <T extends Element> java.util.Set<java.lang.Class<? extends Element>> getSubtypes(java.util.Collection<java.lang.Class<T>> types)
-
getSubtypes
public static <T extends Element> java.util.Set<java.lang.Class<? extends Element>> getSubtypes(java.util.Collection<java.lang.Class<T>> types, boolean includeAbstract)
-
getSubtypes
public static java.util.List<java.lang.Class<? extends Element>> getSubtypes(java.lang.Class<? extends Element> type)
-
getSubtypes
public static java.util.List<java.lang.Class<? extends Element>> getSubtypes(java.lang.Class<? extends Element> type, boolean includeAbstract)
-
getSubtypesArray
public static <T extends Element> java.lang.Class<T>[] getSubtypesArray(java.util.Collection<java.lang.Class<T>> type)
-
getSubtypesArray
public static <T extends Element> java.lang.Class<T>[] getSubtypesArray(java.util.Collection<java.lang.Class<T>> type, boolean includeAbstract)
-
getSubtypesArray
public static <T extends Element> java.lang.Class<T>[] getSubtypesArray(java.lang.Class<T> type)
-
getSubtypesArray
public static <T extends Element> java.lang.Class<T>[] getSubtypesArray(java.lang.Class<T> type, boolean includeAbstract)
-
getDirectSubtypes
public static <T extends Element> java.util.List<java.lang.Class<? extends Element>> getDirectSubtypes(java.lang.Class<T> 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 <T extends Element> java.util.List<java.lang.Class<? extends Element>> getSupertypes(java.lang.Class<T> type)
-
isTypeOf
public static boolean isTypeOf(java.lang.Class<? extends Element> type, java.lang.Class<? extends Element> candidate)
-
getClassType
public static java.lang.Class<? extends Element> getClassType(org.omg.mof.model.Classifier metatype)
-
getMDClassType
private static java.lang.Class<? extends Element> getMDClassType(java.util.List<java.lang.String> qualifiedName)
-
getClassType
public static java.lang.Class<? extends Element> getClassType(java.util.List<java.lang.String> qualifiedName)
-
getClassType
public static java.lang.Class<? extends Element> 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<? extends Element>> expandToConcreteMetaClasses(java.util.Collection<java.lang.Class<? extends Element>> 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
-
-