Class TypeAnalyzer

java.lang.Object
eu.qualimaster.easy.extension.internal.TypeAnalyzer
All Implemented Interfaces:
net.ssehub.easy.instantiation.core.model.vilTypes.IClassNameMapper, net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer

class TypeAnalyzer extends Object implements net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
A QualiMaster specific type analyzer for reflective descriptor building in rt-VIL.
Author:
Holger Eichelberger
  • Field Details

    • NAMESPACE

      public static final String NAMESPACE
      See Also:
    • FALLBACK_TYPES

      private static final Map<String,net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?>> FALLBACK_TYPES
    • IMPORTING

      private static final Set<Class<?>> IMPORTING
  • Constructor Details

    • TypeAnalyzer

      TypeAnalyzer()
  • Method Details

    • setImportingTypes

      void setImportingTypes(List<Class<?>> importing)
      Records the importing classes for pre-lookup.
      Parameters:
      importing - the importing classes
    • registerSpecialType

      private static void registerSpecialType(Class<?> cls, net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> descriptor)
      Registers a fallback type mapping.
      Parameters:
      cls - the class to register the type for
      descriptor - the related descriptor
    • getVilName

      public String getVilName(Class<?> cls)
      Specified by:
      getVilName in interface net.ssehub.easy.instantiation.core.model.vilTypes.IClassNameMapper
    • isVisible

      public boolean isVisible(Class<?> cls)
      Specified by:
      isVisible in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • isVisible

      public boolean isVisible(Method method)
      Specified by:
      isVisible in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • isDisabledDuringSimulation

      public boolean isDisabledDuringSimulation(Method method)
      Specified by:
      isDisabledDuringSimulation in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • isVisible

      public boolean isVisible(Field field)
      Specified by:
      isVisible in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • isVisible

      public boolean isVisible(Constructor<?> constructor)
      Specified by:
      isVisible in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getStringValueProvider

      public net.ssehub.easy.instantiation.core.model.vilTypes.IRegisteredStringValueProvider getStringValueProvider(Class<?> cls)
      Specified by:
      getStringValueProvider in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getVilName

      public String getVilName(Method method)
      Specified by:
      getVilName in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getVilName

      public String getVilName(Field field)
      Specified by:
      getVilName in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getFieldGenerics

      public Class<?>[] getFieldGenerics(Field field)
      Specified by:
      getFieldGenerics in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getParameterGenerics

      public Class<?>[] getParameterGenerics(Method method, int index)
      Specified by:
      getParameterGenerics in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getParameterGenerics

      public Class<?>[] getParameterGenerics(Constructor<?> constructor, int index)
      Specified by:
      getParameterGenerics in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • getReturnGenerics

      public Class<?>[] getReturnGenerics(Method method)
      Specified by:
      getReturnGenerics in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • resolveTypeFallback

      public net.ssehub.easy.instantiation.core.model.vilTypes.TypeDescriptor<?> resolveTypeFallback(String name)
      Specified by:
      resolveTypeFallback in interface net.ssehub.easy.instantiation.rt.core.model.rtVil.types.ITypeAnalyzer
    • scanTypes

      private Class<?>[] scanTypes(eu.qualimaster.common.QMGenerics annotation)
      Scans types in order to figure out whether they already have been registered.
      Parameters:
      annotation - the annotation to scan
      Returns:
      the types in the annotation