Package org.apache.maven.repository
Class DefaultMirrorSelector
java.lang.Object
org.apache.maven.repository.DefaultMirrorSelector
- All Implemented Interfaces:
MirrorSelector
@Component(role=MirrorSelector.class)
public class DefaultMirrorSelector
extends Object
implements MirrorSelector
DefaultMirrorSelector
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetMirror
(ArtifactRepository repository, List<Mirror> mirrors) Determines the mirror for the specified repository.(package private) static boolean
isExternalHttpRepo
(ArtifactRepository originalRepository) Checks the URL to see if this repository refers to a non-localhost repository using HTTP.(package private) static boolean
isExternalRepo
(ArtifactRepository originalRepository) Checks the URL to see if this repository refers to an external repositoryprivate static boolean
(package private) static boolean
matchesLayout
(String repoLayout, String mirrorLayout) Checks whether the layouts configured for a mirror match with the layout of the repository.(package private) static boolean
matchesLayout
(ArtifactRepository repository, Mirror mirror) (package private) static boolean
matchPattern
(ArtifactRepository originalRepository, String pattern) This method checks if the pattern matches the originalRepository.
-
Field Details
-
WILDCARD
- See Also:
-
EXTERNAL_WILDCARD
- See Also:
-
EXTERNAL_HTTP_WILDCARD
- See Also:
-
-
Constructor Details
-
DefaultMirrorSelector
public DefaultMirrorSelector()
-
-
Method Details
-
getMirror
Description copied from interface:MirrorSelector
Determines the mirror for the specified repository.- Specified by:
getMirror
in interfaceMirrorSelector
- Parameters:
repository
- The repository to determine the mirror for, must not benull
.mirrors
- The available mirrors, may benull
.- Returns:
- The mirror specification for the repository or
null
if no mirror matched.
-
matchPattern
This method checks if the pattern matches the originalRepository. Valid patterns:*
= everything,external:*
= everything not on the localhost and not file based,external:http:*
= any repository not on the localhost using HTTP,repo,repo1
=repo
orrepo1
,*,!repo1
= everything exceptrepo1
.
- Parameters:
originalRepository
- to compare for a match.pattern
- used for match. Currently only '*' is supported.- Returns:
- true if the repository is a match to this pattern.
-
isExternalRepo
Checks the URL to see if this repository refers to an external repository- Parameters:
originalRepository
-- Returns:
- true if external.
-
isLocal
-
isExternalHttpRepo
Checks the URL to see if this repository refers to a non-localhost repository using HTTP.- Parameters:
originalRepository
-- Returns:
- true if external.
-
matchesLayout
-
matchesLayout
Checks whether the layouts configured for a mirror match with the layout of the repository.- Parameters:
repoLayout
- The layout of the repository, may benull
.mirrorLayout
- The layouts supported by the mirror, may benull
.- Returns:
true
if the layouts associated with the mirror match the layout of the original repository,false
otherwise.
-