Class CombinedTypeSolver

java.lang.Object
com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver
All Implemented Interfaces:
com.github.javaparser.resolution.TypeSolver

public class CombinedTypeSolver extends Object implements com.github.javaparser.resolution.TypeSolver
A container for type solvers. All solving is done by the contained type solvers. This helps you when an API asks for a single type solver, but you need several.
Author:
Federico Tomassetti
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Provides some convenience exception handler implementations
  • Field Summary

    Fields inherited from interface com.github.javaparser.resolution.TypeSolver

    JAVA_LANG_OBJECT, JAVA_LANG_RECORD
  • Constructor Summary

    Constructors
    Constructor
    Description
    CombinedTypeSolver(com.github.javaparser.resolution.TypeSolver... elements)
     
    CombinedTypeSolver(Iterable<com.github.javaparser.resolution.TypeSolver> elements)
     
    CombinedTypeSolver(Predicate<Exception> exceptionHandler, com.github.javaparser.resolution.TypeSolver... elements)
     
    CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<com.github.javaparser.resolution.TypeSolver> elements)
     
    CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<com.github.javaparser.resolution.TypeSolver> elements, com.github.javaparser.resolution.cache.Cache<String, com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>> typeCache)
    Create a new instance of CombinedTypeSolver with a custom symbol cache.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(com.github.javaparser.resolution.TypeSolver typeSolver)
    Append a type solver to the current solver.
    void
    add(com.github.javaparser.resolution.TypeSolver typeSolver, boolean resetCache)
    Append a type solver to the current solver.
    static String
    createModuleTypeName(String moduleQualifiedName, String simpleTypeName)
    Create the key that should be used for module cache lookups.
    com.github.javaparser.resolution.TypeSolver
     
    void
     
    void
    setParent(com.github.javaparser.resolution.TypeSolver parent)
     
    com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
     
    com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
    solveTypeInModule(String moduleQualifiedName, String simpleTypeName)
     
    com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>
     
    com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>
    tryToSolveTypeInModule(String moduleQualifiedName, String simpleTypeName)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.github.javaparser.resolution.TypeSolver

    getRoot, getSolvedJavaLangObject, getSolvedJavaLangRecord, hasType
  • Constructor Details

    • CombinedTypeSolver

      public CombinedTypeSolver(com.github.javaparser.resolution.TypeSolver... elements)
    • CombinedTypeSolver

      public CombinedTypeSolver(Predicate<Exception> exceptionHandler, com.github.javaparser.resolution.TypeSolver... elements)
    • CombinedTypeSolver

      public CombinedTypeSolver(Iterable<com.github.javaparser.resolution.TypeSolver> elements)
    • CombinedTypeSolver

      public CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<com.github.javaparser.resolution.TypeSolver> elements)
      See Also:
      • exceptionHandler
    • CombinedTypeSolver

      public CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<com.github.javaparser.resolution.TypeSolver> elements, com.github.javaparser.resolution.cache.Cache<String, com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>> typeCache)
      Create a new instance of CombinedTypeSolver with a custom symbol cache.
      Parameters:
      exceptionHandler - How exception should be handled.
      elements - The list of elements to include by default.
      typeCache - The cache to be used to store symbols.
      See Also:
      • exceptionHandler
  • Method Details

    • setExceptionHandler

      public void setExceptionHandler(Predicate<Exception> exceptionHandler)
      See Also:
      • exceptionHandler
    • getParent

      public com.github.javaparser.resolution.TypeSolver getParent()
      Specified by:
      getParent in interface com.github.javaparser.resolution.TypeSolver
    • setParent

      public void setParent(com.github.javaparser.resolution.TypeSolver parent)
      Specified by:
      setParent in interface com.github.javaparser.resolution.TypeSolver
    • add

      public void add(com.github.javaparser.resolution.TypeSolver typeSolver, boolean resetCache)
      Append a type solver to the current solver.
      Parameters:
      typeSolver - The type solver to be appended.
      resetCache - If should reset the cache when the solver is inserted.
    • add

      public void add(com.github.javaparser.resolution.TypeSolver typeSolver)
      Append a type solver to the current solver.
      By default the cached values will be removed.
      Parameters:
      typeSolver - The type solver to be appended.
    • tryToSolveType

      public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveType(String name)
      Specified by:
      tryToSolveType in interface com.github.javaparser.resolution.TypeSolver
    • createModuleTypeName

      public static String createModuleTypeName(String moduleQualifiedName, String simpleTypeName)
      Create the key that should be used for module cache lookups.
    • tryToSolveTypeInModule

      public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule(String moduleQualifiedName, String simpleTypeName)
      Specified by:
      tryToSolveTypeInModule in interface com.github.javaparser.resolution.TypeSolver
    • solveType

      public com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration solveType(String name) throws com.github.javaparser.resolution.UnsolvedSymbolException
      Specified by:
      solveType in interface com.github.javaparser.resolution.TypeSolver
      Throws:
      com.github.javaparser.resolution.UnsolvedSymbolException
    • solveTypeInModule

      public com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration solveTypeInModule(String moduleQualifiedName, String simpleTypeName) throws com.github.javaparser.resolution.UnsolvedSymbolException
      Specified by:
      solveTypeInModule in interface com.github.javaparser.resolution.TypeSolver
      Throws:
      com.github.javaparser.resolution.UnsolvedSymbolException