Class DefaultMirrorSelector
java.lang.Object
org.eclipse.aether.util.repository.DefaultMirrorSelector
- All Implemented Interfaces:
MirrorSelector
A simple mirror selector that selects mirrors based on repository identifiers.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final String
private final List
<DefaultMirrorSelector.MirrorDef> private static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd
(String id, String url, String type, boolean repositoryManager, boolean blocked, String mirrorOfIds, String mirrorOfTypes) Adds the specified mirror to this selector.add
(String id, String url, String type, boolean repositoryManager, String mirrorOfIds, String mirrorOfTypes) Deprecated.private DefaultMirrorSelector.MirrorDef
findMirror
(RemoteRepository repository) getMirror
(RemoteRepository repository) Selects a mirror for the specified repository.(package private) static boolean
isExternalHttpRepo
(RemoteRepository repository) Checks the URL to see if this repository refers to a non-localhost repository using HTTP.(package private) static boolean
isExternalRepo
(RemoteRepository repository) Checks the URL to see if this repository refers to an external repository.private static boolean
(package private) static boolean
matchesType
(String repoType, String mirrorType) Checks whether the types configured for a mirror match with the type of the repository.(package private) static boolean
matchPattern
(RemoteRepository repository, 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:
-
mirrors
-
-
Constructor Details
-
DefaultMirrorSelector
public DefaultMirrorSelector()
-
-
Method Details
-
add
@Deprecated public DefaultMirrorSelector add(String id, String url, String type, boolean repositoryManager, String mirrorOfIds, String mirrorOfTypes) Deprecated. -
add
public DefaultMirrorSelector add(String id, String url, String type, boolean repositoryManager, boolean blocked, String mirrorOfIds, String mirrorOfTypes) Adds the specified mirror to this selector.- Parameters:
id
- The identifier of the mirror, must not benull
.url
- The URL of the mirror, must not benull
.type
- The content type of the mirror, must not benull
.repositoryManager
- A flag whether the mirror is a repository manager or a simple server.blocked
- A flag whether the mirror is blocked from performing any download requests.mirrorOfIds
- The identifier(s) of remote repositories to mirror, must not benull
. Multiple identifiers can be separated by comma and additionally the wildcards "*", "external:http:*" and "external:*" can be used to match all (external) repositories, prefixing a repo id with an exclamation mark allows to express an exclusion. For example "external:*,!central".mirrorOfTypes
- The content type(s) of remote repositories to mirror, may benull
or empty to match any content type. Similar to the repo id specification, multiple types can be comma-separated, the wildcard "*" and the "!" negation syntax are supported. For example "*,!p2".- Returns:
- This selector for chaining, never
null
.
-
getMirror
Description copied from interface:MirrorSelector
Selects a mirror for the specified repository.- Specified by:
getMirror
in interfaceMirrorSelector
- Parameters:
repository
- The repository to select a mirror for, must not benull
.- Returns:
- The selected mirror or
null
if none. - See Also:
-
findMirror
-
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:
repository
- to compare for a match.pattern
- used for match.- 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:
repository
- The repository to check, must not benull
.- Returns:
true
if external,false
otherwise.
-
isLocal
-
isExternalHttpRepo
Checks the URL to see if this repository refers to a non-localhost repository using HTTP.- Parameters:
repository
- The repository to check, must not benull
.- Returns:
true
if external,false
otherwise.
-
matchesType
Checks whether the types configured for a mirror match with the type of the repository.- Parameters:
repoType
- The type of the repository, may benull
.mirrorType
- The types supported by the mirror, may benull
.- Returns:
true
if the types associated with the mirror match the type of the original repository,false
otherwise.
-