Class ReflectionResolver
- java.lang.Object
-
- net.ssehub.easy.instantiation.core.model.vilTypes.ReflectionResolver
-
public class ReflectionResolver extends java.lang.ObjectResolves reflective types. ConsidersIClassNameMapperProvideron the type registry if given.- Author:
- Holger Eichelberger
-
-
Field Summary
Fields Modifier and Type Field Description private static IClassNameMappermapperprivate static TypeRegistryregistry
-
Constructor Summary
Constructors Constructor Description ReflectionResolver()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static TypeDescriptor<?>[]createParameter(java.lang.Class<?>[] generics, int count, IntHolder pos)Creates the type parameters in a recursive way.static TypeRegistrygetTypeRegistry()Returns the active registry for resolution.static TypeDescriptor<?>resolveType(java.lang.Class<?> cls, java.lang.Class<?>[] generics)Resolves the given type to a type descriptor.static TypeDescriptor<?>resolveType(java.lang.Class<?> cls, java.lang.Class<?>[] generics, IntHolder pos)Resolves the given type to a type descriptor.static TypeRegistrysetTypeRegistry(TypeRegistry reg)Changes the type registry for resolution.
-
-
-
Field Detail
-
registry
private static TypeRegistry registry
-
mapper
private static IClassNameMapper mapper
-
-
Method Detail
-
setTypeRegistry
public static TypeRegistry setTypeRegistry(TypeRegistry reg)
Changes the type registry for resolution.- Parameters:
reg- the type registry (null is ignored)- Returns:
- the registry before setting
-
getTypeRegistry
public static TypeRegistry getTypeRegistry()
Returns the active registry for resolution.- Returns:
- the type registry
-
resolveType
public static TypeDescriptor<?> resolveType(java.lang.Class<?> cls, java.lang.Class<?>[] generics)
Resolves the given type to a type descriptor.- Parameters:
cls- the class to be resolvedgenerics- the type generics (may be null if none)- Returns:
- the resolved type descriptor
-
resolveType
public static TypeDescriptor<?> resolveType(java.lang.Class<?> cls, java.lang.Class<?>[] generics, IntHolder pos)
Resolves the given type to a type descriptor.- Parameters:
cls- the class to be resolvedgenerics- the type generics (may be null if none)pos- the actual position within the array- Returns:
- the resolved type descriptor
-
createParameter
private static TypeDescriptor<?>[] createParameter(java.lang.Class<?>[] generics, int count, IntHolder pos)
Creates the type parameters in a recursive way.- Parameters:
generics- the generics to be processed (may be null)count- the number of parameters to obtain fromgenericsin a recursive waypos- the actual position withingenerics- Returns:
- the created type
-
-