ConfigurationResolveReport
Date: 2014-12-13

org.apache.ivy.core.report

## Class ConfigurationResolveReport

- java.lang.Object
- - org.apache.ivy.core.report.ConfigurationResolveReport

-     public class ConfigurationResolveReport
      extends java.lang.Object

  Represents a whole resolution report for a module but for a specific configuration

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConfigurationResolveReport(ResolveEngine resolveEngine, ModuleDescriptor md, java.lang.String conf, java.util.Date date, ResolveOptions options)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDependency(IvyNode node)`
    `void` | `addDependency(IvyNode node, DownloadReport report)`
    `void` | `checkIfChanged()` Check if the set of dependencies has changed since the previous execution of a resolution.
    `static ArtifactDownloadReport[]` | `filterOutMergedArtifacts(ArtifactDownloadReport[] allFailedReports)`
    `ArtifactDownloadReport[]` | `getAllArtifactsReports()` Get every report on the download requests.
    `int` | `getArtifactsNumber()`
    `ArtifactDownloadReport[]` | `getArtifactsReports(DownloadStatus downloadStatus, boolean withEvicted)` Get the report on the download requests.
    `java.lang.String` | `getConfiguration()`
    `java.util.Date` | `getDate()`
    `IvyNode` | `getDependency(ModuleRevisionId mrid)`
    `ArtifactDownloadReport[]` | `getDownloadedArtifactsReports()` Get the report on the sucessfull download requests with the evicted modules
    `IvyNode[]` | `getDownloadedNodes()`
    `ArtifactDownloadReport[]` | `getDownloadReports(ModuleRevisionId mrid)`
    `IvyNode[]` | `getEvictedNodes()`
    `ArtifactDownloadReport[]` | `getFailedArtifactsReports()` Get the report on the failed download requests with the evicted modules
    `ModuleDescriptor` | `getModuleDescriptor()`
    `java.util.List<ModuleId>` | `getModuleIds()` gives all the modules ids concerned by this report, from the most dependent to the least one
    `java.util.Set<ModuleRevisionId>` | `getModuleRevisionIds()` Returns all non evicted and non error dependency mrids The returned set is ordered so that a dependency will always be found before their own dependencies
    `java.util.Collection<IvyNode>` | `getNodes(ModuleId mid)`
    `int` | `getNodesNumber()`
    `ResolveEngine` | `getResolveEngine()`
    `IvyNode[]` | `getSearchedNodes()`
    `IvyNode[]` | `getUnresolvedDependencies()`
    `boolean` | `hasChanged()`
    `boolean` | `hasError()`
    `void` | `updateDependency(ModuleRevisionId mrid, IvyNode node)`

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

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

- - ### Constructor Detail

    - #### ConfigurationResolveReport

          public ConfigurationResolveReport(ResolveEngine resolveEngine,
                                    ModuleDescriptor md,
                                    java.lang.String conf,
                                    java.util.Date date,
                                    ResolveOptions options)

  - ### Method Detail

    - #### checkIfChanged

          public void checkIfChanged()

      Check if the set of dependencies has changed since the previous execution of a resolution.
      This function use the report file found in the cache. So the function must be called before the new report is serialized there. This function also use the internal dependencies that must already be filled. This function might be 'heavy' because it may have to parse the previous report.

    - #### hasChanged

          public boolean hasChanged()

    - #### getModuleRevisionIds

          public java.util.Set<ModuleRevisionId> getModuleRevisionIds()

      Returns all non evicted and non error dependency mrids The returned set is ordered so that a dependency will always be found before their own dependencies
      Returns:
        all non evicted and non error dependency mrids

    - #### addDependency

          public void addDependency(IvyNode node)

    - #### updateDependency

          public void updateDependency(ModuleRevisionId mrid,
                              IvyNode node)

    - #### addDependency

          public void addDependency(IvyNode node,
                           DownloadReport report)

    - #### getConfiguration

          public java.lang.String getConfiguration()

    - #### getDate

          public java.util.Date getDate()

    - #### getModuleDescriptor

          public ModuleDescriptor getModuleDescriptor()

    - #### getUnresolvedDependencies

          public IvyNode[] getUnresolvedDependencies()

    - #### getEvictedNodes

          public IvyNode[] getEvictedNodes()

    - #### getDownloadedNodes

          public IvyNode[] getDownloadedNodes()

    - #### getSearchedNodes

          public IvyNode[] getSearchedNodes()

    - #### getDownloadReports

          public ArtifactDownloadReport[] getDownloadReports(ModuleRevisionId mrid)

    - #### getDependency

          public IvyNode getDependency(ModuleRevisionId mrid)

    - #### getModuleIds

          public java.util.List<ModuleId> getModuleIds()

      gives all the modules ids concerned by this report, from the most dependent to the least one
      Returns:
        a list of ModuleId

    - #### getNodes

          public java.util.Collection<IvyNode> getNodes(ModuleId mid)

    - #### getResolveEngine

          public ResolveEngine getResolveEngine()

    - #### getArtifactsNumber

          public int getArtifactsNumber()

    - #### getAllArtifactsReports

          public ArtifactDownloadReport[] getAllArtifactsReports()

      Get every report on the download requests.
      Returns:
        the list of reports, never `null`

    - #### getArtifactsReports

          public ArtifactDownloadReport[] getArtifactsReports(DownloadStatus downloadStatus,
                                                     boolean withEvicted)

      Get the report on the download requests. The list of download report can be restricted to a specific download status, and also remove the download report for the evicted modules.
      Parameters:
        `downloadStatus` - the status of download to retreive. Set it to `null` for no restriction on the download status
        `withEvicted` - set it to `true` if the report for the evicted modules have to be retrieved.
      Returns:
        the list of reports, never `null`
      See Also:
        `ArtifactDownloadReport`

    - #### getDownloadedArtifactsReports

          public ArtifactDownloadReport[] getDownloadedArtifactsReports()

      Get the report on the sucessfull download requests with the evicted modules
      Returns:
        the list of reports, never `null`

    - #### getFailedArtifactsReports

          public ArtifactDownloadReport[] getFailedArtifactsReports()

      Get the report on the failed download requests with the evicted modules
      Returns:
        the list of reports, never `null`

    - #### hasError

          public boolean hasError()

    - #### getNodesNumber

          public int getNodesNumber()

    - #### filterOutMergedArtifacts

          public static ArtifactDownloadReport[] filterOutMergedArtifacts(ArtifactDownloadReport[] allFailedReports)