Interface VersionMatcher

    • Method Detail

      • isDynamic

        boolean isDynamic​(ModuleRevisionId askedMrid)
        Indicates if the given asked ModuleRevisionId should be considered as dynamic for the current VersionMatcher or not.
        Parameters:
        askedMrid - the dependency module revision id as asked by a module
        Returns:
        true if this revision is considered as a dynamic one, false otherwise
      • accept

        boolean accept​(ModuleRevisionId askedMrid,
                       ModuleRevisionId foundMrid)
        Indicates if this version matcher considers that the module revision found matches the asked one.
        Parameters:
        askedMrid - ModuleRevisionId
        foundMrid - ModuleRevisionId
        Returns:
        boolean
      • needModuleDescriptor

        boolean needModuleDescriptor​(ModuleRevisionId askedMrid,
                                     ModuleRevisionId foundMrid)
        Indicates if this VersionMatcher needs module descriptors to determine if a module revision matches the asked one. Note that returning true in this method may imply big performance issues.
        Parameters:
        askedMrid - ModuleRevisionId
        foundMrid - ModuleRevisionId
        Returns:
        boolean
      • accept

        boolean accept​(ModuleRevisionId askedMrid,
                       ModuleDescriptor foundMD)
        Indicates if this version matcher considers that the module found matches the asked one. This method can be called even needModuleDescriptor(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid) returns false, so it is required to implement it in any case, a usual default implementation being: return accept(askedMrid, foundMD.getResolvedModuleRevisionId());
        Parameters:
        askedMrid - ModuleRevisionId
        foundMD - ModuleDescriptor
        Returns:
        boolean
      • compare

        int compare​(ModuleRevisionId askedMrid,
                    ModuleRevisionId foundMrid,
                    java.util.Comparator<ModuleRevisionId> staticComparator)
        Compares a dynamic revision (askedMrid) with a static one (foundMrid) to indicate which one should be considered the greater. If there is not enough information to know which one is the greater, the dynamic one should be considered greater and this method should return 0. This method should never be called with a askedMrid for which isDynamic returns false.
        Parameters:
        askedMrid - the dynamic revision to compare
        foundMrid - the static revision to compare
        staticComparator - a comparator which can be used to compare static revisions
        Returns:
        0 if it's not possible to know which one is greater, greater than 0 if askedMrid should be considered greater, lower than 0 if it can't be consider greater
      • getName

        java.lang.String getName()
        Returns the version matcher name identifying this version matcher
        Returns:
        the version matcher name identifying this version matcher