java.lang.Object
de.iip_ecosphere.platform.services.spring.descriptor.TypeResolver

public class TypeResolver extends Object
Resolves declared types to dynamic Java classes (just attributes).
Author:
Holger Eichelberger, SSE
  • Field Details

  • Constructor Details

    • TypeResolver

      public TypeResolver(List<? extends Type> declarations)
      Creates a type resolver and creates internal classes for declarations.
      Parameters:
      declarations - the type declarations to be used as descriptor-defined types
  • Method Details

    • createClasses

      private List<Type> createClasses(List<? extends Type> declarations)
      Creates classes for all given type declarations.
      Parameters:
      declarations - the declarations
      Returns:
      the left-over types that cannot be resolved, e.g., due to cyclic dependencies; empty if completely successful
    • isPrimitive

      public static boolean isPrimitive(String name)
      Returns whether a given type name is considered to be pre-defined/primitive (including "String").
      Parameters:
      name - the name to look for
      Returns:
      true for primitive/pre-defined, false else
    • createClasses

      private boolean createClasses(Type type)
      Creates the classes for a given descriptor-defined type.
      Parameters:
      type - the type
      Returns:
      true if the type is resolvable, the class was created and registered; false if the resolution failed, e.g., as required types are not (yet) defined.
    • resolve

      public Class<?> resolve(String name)
      Resolve a type name to a type. Considers pre-defined types (PRIMITIVES) as well as descriptor-defined types used as input to this instance.
      Parameters:
      name - the type name
      Returns:
      the type, may be null