Class 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 name
      private 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NULL_CLASS

        private static final java.lang.Class NULL_CLASS
      • 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.
    • Constructor Detail

      • ClassTypes

        public ClassTypes()
    • 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. Use getSubtypes(Class, boolean) get get all available sub-types.
        Parameters:
        type - the super type
        includeAbstract - 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