Class CombinedTypeSolver

  • All Implemented Interfaces:
    com.github.javaparser.resolution.TypeSolver

    public class CombinedTypeSolver
    extends java.lang.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  CombinedTypeSolver.ExceptionHandlers
      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​(java.lang.Iterable<com.github.javaparser.resolution.TypeSolver> elements)  
      CombinedTypeSolver​(java.util.function.Predicate<java.lang.Exception> exceptionHandler, com.github.javaparser.resolution.TypeSolver... elements)  
      CombinedTypeSolver​(java.util.function.Predicate<java.lang.Exception> exceptionHandler, java.lang.Iterable<com.github.javaparser.resolution.TypeSolver> elements)  
      CombinedTypeSolver​(java.util.function.Predicate<java.lang.Exception> exceptionHandler, java.lang.Iterable<com.github.javaparser.resolution.TypeSolver> elements, com.github.javaparser.resolution.cache.Cache<java.lang.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

      All Methods Static Methods Instance Methods Concrete Methods 
      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 java.lang.String createModuleTypeName​(java.lang.String moduleQualifiedName, java.lang.String simpleTypeName)
      Create the key that should be used for module cache lookups.
      com.github.javaparser.resolution.TypeSolver getParent()  
      void setExceptionHandler​(java.util.function.Predicate<java.lang.Exception> exceptionHandler)  
      void setParent​(com.github.javaparser.resolution.TypeSolver parent)  
      com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration solveType​(java.lang.String name)  
      com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration solveTypeInModule​(java.lang.String moduleQualifiedName, java.lang.String simpleTypeName)  
      com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveType​(java.lang.String name)  
      com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule​(java.lang.String moduleQualifiedName, java.lang.String simpleTypeName)  
      • Methods inherited from class java.lang.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 Detail

      • CombinedTypeSolver

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

        public CombinedTypeSolver​(java.util.function.Predicate<java.lang.Exception> exceptionHandler,
                                  com.github.javaparser.resolution.TypeSolver... elements)
      • CombinedTypeSolver

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

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

        public CombinedTypeSolver​(java.util.function.Predicate<java.lang.Exception> exceptionHandler,
                                  java.lang.Iterable<com.github.javaparser.resolution.TypeSolver> elements,
                                  com.github.javaparser.resolution.cache.Cache<java.lang.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 Detail

      • setExceptionHandler

        public void setExceptionHandler​(java.util.function.Predicate<java.lang.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​(java.lang.String name)
        Specified by:
        tryToSolveType in interface com.github.javaparser.resolution.TypeSolver
      • createModuleTypeName

        public static java.lang.String createModuleTypeName​(java.lang.String moduleQualifiedName,
                                                            java.lang.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​(java.lang.String moduleQualifiedName,
                                                                                                                                                                             java.lang.String simpleTypeName)
        Specified by:
        tryToSolveTypeInModule in interface com.github.javaparser.resolution.TypeSolver
      • solveType

        public com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration solveType​(java.lang.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​(java.lang.String moduleQualifiedName,
                                                                                                                java.lang.String simpleTypeName)
                                                                                                         throws com.github.javaparser.resolution.UnsolvedSymbolException
        Specified by:
        solveTypeInModule in interface com.github.javaparser.resolution.TypeSolver
        Throws:
        com.github.javaparser.resolution.UnsolvedSymbolException