public final class DefaultMirrorSelector extends java.lang.Object implements MirrorSelector
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
DefaultMirrorSelector.MirrorDef |
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
EXTERNAL_WILDCARD |
private java.util.List<DefaultMirrorSelector.MirrorDef> |
mirrors |
private static java.lang.String |
WILDCARD |
| Constructor and Description |
|---|
DefaultMirrorSelector() |
| Modifier and Type | Method and Description |
|---|---|
DefaultMirrorSelector |
add(java.lang.String id,
java.lang.String url,
java.lang.String type,
boolean repositoryManager,
java.lang.String mirrorOfIds,
java.lang.String mirrorOfTypes)
Adds the specified mirror to this selector.
|
private DefaultMirrorSelector.MirrorDef |
findMirror(RemoteRepository repository) |
RemoteRepository |
getMirror(RemoteRepository repository)
Selects a mirror for the specified repository.
|
(package private) static boolean |
isExternalRepo(RemoteRepository repository)
Checks the URL to see if this repository refers to an external repository.
|
(package private) static boolean |
matchesType(java.lang.String repoType,
java.lang.String mirrorType)
Checks whether the types configured for a mirror match with the type of the repository.
|
(package private) static boolean |
matchPattern(RemoteRepository repository,
java.lang.String pattern)
This method checks if the pattern matches the originalRepository.
|
private static final java.lang.String WILDCARD
private static final java.lang.String EXTERNAL_WILDCARD
private final java.util.List<DefaultMirrorSelector.MirrorDef> mirrors
public DefaultMirrorSelector add(java.lang.String id, java.lang.String url, java.lang.String type, boolean repositoryManager, java.lang.String mirrorOfIds, java.lang.String mirrorOfTypes)
id - The identifier of the mirror, must not be null.url - The URL of the mirror, must not be null.type - The content type of the mirror, must not be null.repositoryManager - A flag whether the mirror is a repository manager or a simple server.mirrorOfIds - The identifier(s) of remote repositories to mirror, must not be null. Multiple
identifiers can be separated by comma and additionally the wildcards "*" 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 be null 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".null.public RemoteRepository getMirror(RemoteRepository repository)
MirrorSelectorgetMirror in interface MirrorSelectorrepository - The repository to select a mirror for, must not be null.null if none.RemoteRepository.getMirroredRepositories()private DefaultMirrorSelector.MirrorDef findMirror(RemoteRepository repository)
static boolean matchPattern(RemoteRepository repository, java.lang.String pattern)
repository - to compare for a match.pattern - used for match. Currently only '*' is supported.static boolean isExternalRepo(RemoteRepository repository)
repository - The repository to check, must not be null.true if external, false otherwise.static boolean matchesType(java.lang.String repoType,
java.lang.String mirrorType)
repoType - The type of the repository, may be null.mirrorType - The types supported by the mirror, may be null.true if the types associated with the mirror match the type of the original repository,
false otherwise.