org.apache.ivy.plugins.resolver

## Class CacheResolver

- java.lang.Object
- - org.apache.ivy.plugins.resolver.AbstractResolver
  - - org.apache.ivy.plugins.resolver.BasicResolver
    - - org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver
      - - org.apache.ivy.plugins.resolver.RepositoryResolver
        - - org.apache.ivy.plugins.resolver.FileSystemResolver
          - - org.apache.ivy.plugins.resolver.CacheResolver

- All Implemented Interfaces:
    Validatable, DependencyResolver, HasLatestStrategy

      public class CacheResolver
      extends FileSystemResolver

- - ### Field Summary

    - ### Fields inherited from class org.apache.ivy.plugins.resolver.BasicResolver

      `DATE_FORMAT, DESCRIPTOR_OPTIONAL, DESCRIPTOR_REQUIRED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CacheResolver()`
    `CacheResolver(ResolverSettings settings)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DownloadReport` | `download(Artifact[] artifacts, DownloadOptions options)` Download artifacts with specified DownloadOptions.
    `void` | `dumpSettings()`
    `boolean` | `exists(Artifact artifact)` Returns `true` if the given artifact can be located by this resolver and actually exist.
    `ResolvedModuleRevision` | `getDependency(DependencyDescriptor dd, ResolveData data)` Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e. a revision uniquely identifying the revision of a module in the current environment - If this revision is not able to identify uniquely the revision of the module outside of the current environment, then the resolved revision must begin by ##)
    `java.lang.String` | `getTypeName()`
    `ModuleEntry[]` | `listModules(OrganisationEntry org)`
    `OrganisationEntry[]` | `listOrganisations()`
    `RevisionEntry[]` | `listRevisions(ModuleEntry module)`
    `ArtifactOrigin` | `locate(Artifact artifact)` Default implementation actually download the artifact Subclasses should overwrite this to avoid the download
    `void` | `publish(Artifact artifact, java.io.File src, boolean overwrite)`

    - ### Methods inherited from class org.apache.ivy.plugins.resolver.FileSystemResolver

      `abortPublishTransaction, addArtifactPattern, addConfiguredArtifact, addConfiguredIvy, addIvyPattern, beginPublishTransaction, commitPublishTransaction, filterNames, getDestination, getTransactional, isLocal, setLocal, setTransactional, supportTransaction`

    - ### Methods inherited from class org.apache.ivy.plugins.resolver.RepositoryResolver

      `exist, findResourceUsingPattern, findTokenValues, get, getRepository, getResource, isAlwaysCheckExactRevision, listResources, listTokenValues, put, putChecksum, putSignature, setAlwaysCheckExactRevision, setName, setRepository, setSettings, setSigner`

    - ### Methods inherited from class org.apache.ivy.plugins.resolver.AbstractPatternsBasedResolver

      `convertM2IdForResourceSearch, convertM2OrganizationForResourceSearch, convertM2ResourceSearchIdToNormal, convertM2TokenValuesForResourceSearch, findArtifactNames, findArtifactRef, findIvyFileRef, findIvyNames, findNames, findResource, findResourceUsingPatterns, getArtifactPatterns, getIvyPatterns, getModuleDescriptorExtension, isM2compatible, listTokenValues, setArtifactPatterns, setIvyPatterns, setM2compatible`

    - ### Methods inherited from class org.apache.ivy.plugins.resolver.BasicResolver

      `acceptLatest, checkModuleDescriptorRevision, clearArtifactAttempts, clearIvyAttempts, doFindArtifactRef, download, findFirstArtifactRef, getAndCheck, getArtifactRef, getChecksumAlgorithms, getDefaultRMDParser, getPublicationDate, getRMDParser, getWorkspaceName, isAllownomd, isCheckconsistency, isEnvDependent, isForce, listTokenValues, logArtifactAttempt, logAttempt, logIvyAttempt, parse, reportFailure, reportFailure, setAllownomd, setCheckconsistency, setChecksums, setDescriptor, setEnvDependent, setForce, setWorkspaceName, shouldReturnResolvedModule, toString`

    - ### Methods inherited from class org.apache.ivy.plugins.resolver.AbstractResolver

      `checkInterrupted, checkLatest, doValidate, findModuleInCache, findModuleInCache, fromSystem, fromSystem, getCacheDownloadOptions, getCacheOptions, getChangingMatcherName, getChangingPattern, getDownloadOptions, getEventManager, getLatest, getLatestStrategy, getName, getNamespace, getParserSettings, getRepositoryCacheManager, getSettings, getSystemNode, hidePassword, isAfter, isValidate, saveModuleRevisionIfNeeded, setCache, setChangingMatcher, setChangingPattern, setCheckmodified, setEventManager, setLatest, setLatestStrategy, setNamespace, setRepositoryCacheManager, setValidate, toSystem, toSystem, toSystem, toSystem, toSystem, toSystem, validate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CacheResolver

          public CacheResolver()

    - #### CacheResolver

          public CacheResolver(ResolverSettings settings)

  - ### Method Detail

    - #### getDependency

          public ResolvedModuleRevision getDependency(DependencyDescriptor dd,
                                             ResolveData data)
                                               throws java.text.ParseException

      Description copied from interface: `DependencyResolver`
      Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e. a revision uniquely identifying the revision of a module in the current environment - If this revision is not able to identify uniquely the revision of the module outside of the current environment, then the resolved revision must begin by ##)
      Specified by:
        `getDependency` in interface `DependencyResolver`
      Overrides:
        `getDependency` in class `BasicResolver`
      Throws:
        `java.text.ParseException`

    - #### download

          public DownloadReport download(Artifact[] artifacts,
                                DownloadOptions options)

      Description copied from interface: `DependencyResolver`
      Download artifacts with specified DownloadOptions.

      The resolver will always make a best effort, and do not stop when an artifact is not available. It rather continue to attempt to download other requested artifacts, and report what has been done in the returned DownloadReport.

      The returned DownloadReport is never `null`, and always contain an `ArtifactDownloadReport` for each requested Artifact.

      Specified by:
        `download` in interface `DependencyResolver`
      Overrides:
        `download` in class `RepositoryResolver`
      Parameters:
        `artifacts` - an array of artifacts to download. Must not be `null`.
        `options` - options to apply for this download. Must not be `null`.
      Returns:
        a DownloadReport with details about each Artifact download.

    - #### exists

          public boolean exists(Artifact artifact)

      Description copied from interface: `DependencyResolver`
      Returns `true` if the given artifact can be located by this resolver and actually exist.
      Specified by:
        `exists` in interface `DependencyResolver`
      Overrides:
        `exists` in class `BasicResolver`
      Parameters:
        `artifact` - the artifact which should be tested.
      Returns:
        `true` if the given artifact can be located by this resolver and actually exist.

    - #### locate

          public ArtifactOrigin locate(Artifact artifact)

      Description copied from class: `AbstractResolver`
      Default implementation actually download the artifact Subclasses should overwrite this to avoid the download
      Specified by:
        `locate` in interface `DependencyResolver`
      Overrides:
        `locate` in class `BasicResolver`
      Parameters:
        `artifact` - the artifact which should be located
      Returns:
        the artifact location, or `null` if it can't be located by this resolver or doesn't exist.

    - #### publish

          public void publish(Artifact artifact,
                     java.io.File src,
                     boolean overwrite)
                       throws java.io.IOException

      Specified by:
        `publish` in interface `DependencyResolver`
      Overrides:
        `publish` in class `RepositoryResolver`
      Throws:
        `java.io.IOException`

    - #### listOrganisations

          public OrganisationEntry[] listOrganisations()

      Specified by:
        `listOrganisations` in interface `DependencyResolver`
      Overrides:
        `listOrganisations` in class `BasicResolver`

    - #### listModules

          public ModuleEntry[] listModules(OrganisationEntry org)

      Specified by:
        `listModules` in interface `DependencyResolver`
      Overrides:
        `listModules` in class `BasicResolver`

    - #### listRevisions

          public RevisionEntry[] listRevisions(ModuleEntry module)

      Specified by:
        `listRevisions` in interface `DependencyResolver`
      Overrides:
        `listRevisions` in class `BasicResolver`

    - #### dumpSettings

          public void dumpSettings()

      Specified by:
        `dumpSettings` in interface `DependencyResolver`
      Overrides:
        `dumpSettings` in class `RepositoryResolver`

    - #### getTypeName

          public java.lang.String getTypeName()

      Overrides:
        `getTypeName` in class `FileSystemResolver`