Package org.apache.ivy.plugins.version
Class AbstractVersionMatcher
- java.lang.Object
-
- org.apache.ivy.plugins.version.AbstractVersionMatcher
-
- All Implemented Interfaces:
IvySettingsAware
,VersionMatcher
- Direct Known Subclasses:
ChainVersionMatcher
,ExactVersionMatcher
,LatestVersionMatcher
,MavenTimedSnapshotVersionMatcher
,PatternVersionMatcher
,SubVersionMatcher
,VersionRangeMatcher
public abstract class AbstractVersionMatcher extends java.lang.Object implements VersionMatcher, IvySettingsAware
-
-
Constructor Summary
Constructors Constructor Description AbstractVersionMatcher()
AbstractVersionMatcher(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accept(ModuleRevisionId askedMrid, ModuleDescriptor foundMD)
Indicates if this version matcher considers that the module found matches the asked one.int
compare(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid, java.util.Comparator<ModuleRevisionId> staticComparator)
This method should be overridden in most cases, because it uses the default contract to return 1 when it's not possible to know which revision is greater.java.lang.String
getName()
Returns the version matcher name identifying this version matcherIvySettings
getSettings()
boolean
needModuleDescriptor(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid)
Indicates if this VersionMatcher needs module descriptors to determine if a module revision matches the asked one.void
setName(java.lang.String name)
void
setSettings(IvySettings settings)
java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.ivy.plugins.version.VersionMatcher
accept, isDynamic
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:VersionMatcher
Returns the version matcher name identifying this version matcher- Specified by:
getName
in interfaceVersionMatcher
- Returns:
- the version matcher name identifying this version matcher
-
setName
public void setName(java.lang.String name)
-
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 interfaceVersionMatcher
- Parameters:
askedMrid
- ModuleRevisionIdfoundMrid
- 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 interfaceVersionMatcher
- Parameters:
askedMrid
- ModuleRevisionIdfoundMD
- ModuleDescriptor- Returns:
- boolean
-
compare
public int compare(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid, java.util.Comparator<ModuleRevisionId> staticComparator)
This method should be overridden 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 interfaceVersionMatcher
- Parameters:
askedMrid
- ModuleRevisionIdfoundMrid
- ModuleRevisionIdstaticComparator
- Comparator- Returns:
- int
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getSettings
public IvySettings getSettings()
-
setSettings
public void setSettings(IvySettings settings)
- Specified by:
setSettings
in interfaceIvySettingsAware
-
-