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 Details

  • Constructor Details

    • DefaultMirrorSelector

      public DefaultMirrorSelector()
  • Method Details

    • getMirror

      public Mirror getMirror(ArtifactRepository repository, List<Mirror> mirrors)
      Description copied from interface: MirrorSelector
      Determines the mirror for the specified repository.
      Specified by:
      getMirror in interface MirrorSelector
      Parameters:
      repository - The repository to determine the mirror for, must not be null.
      mirrors - The available mirrors, may be null.
      Returns:
      The mirror specification for the repository or null if no mirror matched.
    • matchPattern

      static boolean matchPattern(ArtifactRepository originalRepository, String pattern)
      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 or repo1,
      • *,!repo1 = everything except repo1.
      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

      static boolean isExternalRepo(ArtifactRepository originalRepository)
      Checks the URL to see if this repository refers to an external repository
      Parameters:
      originalRepository -
      Returns:
      true if external.
    • isLocal

      private static boolean isLocal(String host)
    • isExternalHttpRepo

      static boolean isExternalHttpRepo(ArtifactRepository originalRepository)
      Checks the URL to see if this repository refers to a non-localhost repository using HTTP.
      Parameters:
      originalRepository -
      Returns:
      true if external.
    • matchesLayout

      static boolean matchesLayout(ArtifactRepository repository, Mirror mirror)
    • matchesLayout

      static boolean matchesLayout(String repoLayout, String mirrorLayout)
      Checks whether the layouts configured for a mirror match with the layout of the repository.
      Parameters:
      repoLayout - The layout of the repository, may be null.
      mirrorLayout - The layouts supported by the mirror, may be null.
      Returns:
      true if the layouts associated with the mirror match the layout of the original repository, false otherwise.