org.apache.ivy.plugins.version

## Class SubVersionMatcher

- java.lang.Object
- - org.apache.ivy.plugins.version.AbstractVersionMatcher
  - - org.apache.ivy.plugins.version.SubVersionMatcher

- All Implemented Interfaces:
    IvySettingsAware, VersionMatcher

      public class SubVersionMatcher
      extends AbstractVersionMatcher

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SubVersionMatcher()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid)` Indicates if this version matcher considers that the module revision found matches the asked one.
    `int` | `compare(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid, java.util.Comparator staticComparator)` This method should be overriden in most cases, because it uses the default contract to return 1 when it's not possible to know which revision is greater.
    `boolean` | `isDynamic(ModuleRevisionId askedMrid)` Indicates if the given asked ModuleRevisionId should be considered as dynamic for the current VersionMatcher or not.

    - ### Methods inherited from class org.apache.ivy.plugins.version.AbstractVersionMatcher

      `accept, getName, getSettings, needModuleDescriptor, setName, setSettings, toString`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### SubVersionMatcher

          public SubVersionMatcher()

  - ### Method Detail

    - #### 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.
      Returns:

    - #### compare

          public int compare(ModuleRevisionId askedMrid,
                    ModuleRevisionId foundMrid,
                    java.util.Comparator staticComparator)

      Description copied from class: `AbstractVersionMatcher`
      This method should be overriden in most cases, because it uses the default contract to return 1 when it's not possible to know which revision is greater.
      Specified by:
        `compare` in interface `VersionMatcher`
      Overrides:
        `compare` in class `AbstractVersionMatcher`
      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