Class LatestVersionMatcher

java.lang.Object
org.apache.ivy.plugins.version.AbstractVersionMatcher
org.apache.ivy.plugins.version.LatestVersionMatcher
All Implemented Interfaces:
IvySettingsAware, VersionMatcher

public class LatestVersionMatcher extends AbstractVersionMatcher
  • Constructor Details

    • LatestVersionMatcher

      public LatestVersionMatcher()
  • Method Details

    • isDynamic

      public boolean isDynamic(ModuleRevisionId askedMrid)
      Description copied from interface: VersionMatcher
      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

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

      public boolean needModuleDescriptor(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid)
      Description copied from interface: VersionMatcher
      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.
      Specified by:
      needModuleDescriptor in interface VersionMatcher
      Overrides:
      needModuleDescriptor in class AbstractVersionMatcher
      Parameters:
      askedMrid - ModuleRevisionId
      foundMrid - ModuleRevisionId
      Returns:
      boolean
    • accept

      public boolean accept(ModuleRevisionId askedMrid, ModuleDescriptor foundMD)
      Description copied from interface: VersionMatcher
      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());
      Specified by:
      accept in interface VersionMatcher
      Overrides:
      accept in class AbstractVersionMatcher
      Parameters:
      askedMrid - ModuleRevisionId
      foundMD - ModuleDescriptor
      Returns:
      boolean
    • compare

      public int compare(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid, Comparator<ModuleRevisionId> staticComparator)
      If we don't need a module descriptor we can consider the dynamic revision to be greater. If we need a module descriptor then we can't know which one is greater and return 0.
      Specified by:
      compare in interface VersionMatcher
      Overrides:
      compare in class AbstractVersionMatcher
      Parameters:
      askedMrid - ModuleRevisionId
      foundMrid - ModuleRevisionId
      staticComparator - Comparator
      Returns:
      int