Class AbstractResolution

    • Constructor Detail

      • AbstractResolution

        public AbstractResolution​(IResolutionContext context,
                                  org.eclipse.core.runtime.IProgressMonitor monitor)
        Constructor.
        Parameters:
        context - The resolution context, must not be null
        monitor - The progress monitor, can be null
    • Method Detail

      • getImplicitDependencies

        protected IImplicitDependencies getImplicitDependencies()
        Returns the implicit dependencies which can be used to retrieve a set of files that should be part of the same logical model than a given file.
        Returns:
        The IImplicitDependencies instance.
      • getTicks

        protected int getTicks()
        Number of ticks to allocate to the progress monitor used for reporting progress.
        Returns:
        The number of ticks to use, 100 by default but can be overridden if necessary.
      • call

        protected <T> T call​(Callable<T> callable)
        Executes the given callable as soon as there is no other computation running, and automatically runs "finalization" treatment once the computation is over, whatever its outcome (success or failure). A diagnostic is instantiated before the computation and should be used thourghout this whole computation. It will be set to null before returning, whatever happens.
        Type Parameters:
        T - The type of the returned value.
        Parameters:
        callable - Treatment to run
        Returns:
        The result of the treatment
      • getFinalizeResolvingRunnable

        protected Runnable getFinalizeResolvingRunnable()
        This provides the treatment that is run at the end of the computation, whatever its outcome. It is guaranteed to run once, in a block "finally", along with other required finalization treatments that are run systematically. There's no need to acquire a lock, this is guaranteed to have been done before, and it is released after this treatment ends.
        Returns:
        The Runnable to run after having resolved resources.
      • asURISet

        protected Set<URI> asURISet​(Set<org.eclipse.core.resources.IStorage> storages)
        Transforms the given Set of IStorages into a Set of URIs.
        Parameters:
        storages - The storages to transform, must not be null.
        Returns:
        A mutable set of URIs, may be empty but never )null.
      • resolveTraversal

        protected Set<org.eclipse.core.resources.IStorage> resolveTraversal​(org.eclipse.core.resources.IFile file,
                                                                            Set<URI> bounds)
        Computes the traversal of the given file, excluding the given bounds if needed.
        Parameters:
        file - File for which the traversal is needed
        bounds - URI to exclude from the logical model computation in case both compared resources are part of the same logical model
        Returns:
        A Set of the file's outgoing and incoming dependencies, never null but possibly empty.