Package org.apache.ivy.plugins.version
Class VersionRangeMatcher
java.lang.Object
org.apache.ivy.plugins.version.AbstractVersionMatcher
org.apache.ivy.plugins.version.VersionRangeMatcher
- All Implemented Interfaces:
IvySettingsAware
,VersionMatcher
Matches version ranges: [1.0,2.0] matches all versions greater or equal to 1.0 and lower or equal
to 2.0 [1.0,2.0[ matches all versions greater or equal to 1.0 and lower than 2.0 ]1.0,2.0]
matches all versions greater than 1.0 and lower or equal to 2.0 ]1.0,2.0[ matches all versions
greater than 1.0 and lower than 2.0 [1.0,) matches all versions greater or equal to 1.0 ]1.0,)
matches all versions greater than 1.0 (,2.0] matches all versions lower or equal to 2.0 (,2.0[
matches all versions lower than 2.0 This class uses a latest strategy to compare revisions. If
none is set, it uses the default one of the ivy instance set through setIvy(). If neither a
latest strategy nor a ivy instance is set, an IllegalStateException will be thrown when calling
accept(). Note that it can't work with latest time strategy, cause no time is known for the
limits of the range. Therefore only purely revision based LatestStrategy can be used.
-
Constructor Summary
ConstructorsConstructorDescriptionVersionRangeMatcher
(String name) VersionRangeMatcher
(String name, LatestStrategy strategy) -
Method Summary
Modifier and TypeMethodDescriptionboolean
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, 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.boolean
isDynamic
(ModuleRevisionId askedMrid) Indicates if the given asked ModuleRevisionId should be considered as dynamic for the current VersionMatcher or not.void
void
setLatestStrategy
(LatestStrategy latestStrategy) Methods inherited from class org.apache.ivy.plugins.version.AbstractVersionMatcher
accept, getName, getSettings, needModuleDescriptor, setName, setSettings, toString
-
Constructor Details
-
VersionRangeMatcher
public VersionRangeMatcher() -
VersionRangeMatcher
-
VersionRangeMatcher
-
-
Method Details
-
isDynamic
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
Description copied from interface:VersionMatcher
Indicates if this version matcher considers that the module revision found matches the asked one.- Parameters:
askedMrid
- ModuleRevisionIdfoundMrid
- ModuleRevisionId- Returns:
- boolean
-
compare
public int compare(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid, Comparator<ModuleRevisionId> staticComparator) Description copied from class:AbstractVersionMatcher
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
- Overrides:
compare
in classAbstractVersionMatcher
- Parameters:
askedMrid
- ModuleRevisionIdfoundMrid
- ModuleRevisionIdstaticComparator
- Comparator- Returns:
- int
-
getLatestStrategy
-
setLatestStrategy
-
setLatest
-