java.lang.Object
org.apache.maven.shared.artifact.filter.collection.AbstractArtifactsFilter
org.apache.maven.plugins.dependency.utils.filters.DestFileFilter
All Implemented Interfaces:
ArtifactItemFilter, org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter

public class DestFileFilter extends org.apache.maven.shared.artifact.filter.collection.AbstractArtifactsFilter implements ArtifactItemFilter
  • Field Details

    • overWriteReleases

      private boolean overWriteReleases
    • overWriteSnapshots

      private boolean overWriteSnapshots
    • overWriteIfNewer

      private boolean overWriteIfNewer
    • useSubDirectoryPerArtifact

      private boolean useSubDirectoryPerArtifact
    • useSubDirectoryPerType

      private boolean useSubDirectoryPerType
    • useSubDirectoryPerScope

      private final boolean useSubDirectoryPerScope
    • useRepositoryLayout

      private boolean useRepositoryLayout
    • removeVersion

      private boolean removeVersion
    • removeClassifier

      private boolean removeClassifier
    • prependGroupId

      private final boolean prependGroupId
    • useBaseVersion

      private final boolean useBaseVersion
    • outputFileDirectory

      private File outputFileDirectory
  • Constructor Details

    • DestFileFilter

      public DestFileFilter(File outputFileDirectory)
      Parameters:
      outputFileDirectory - the output directory.
    • DestFileFilter

      public DestFileFilter(boolean overWriteReleases, boolean overWriteSnapshots, boolean overWriteIfNewer, boolean useSubDirectoryPerArtifact, boolean useSubDirectoryPerType, boolean useSubDirectoryPerScope, boolean useRepositoryLayout, boolean removeVersion, boolean prependGroupId, boolean useBaseVersion, File outputFileDirectory)
      Parameters:
      overWriteReleases - true/false.
      overWriteSnapshots - true/false.
      overWriteIfNewer - true/false.
      useSubDirectoryPerArtifact - true/false.
      useSubDirectoryPerType - true/false.
      useSubDirectoryPerScope - true/false.
      useRepositoryLayout - true/false.
      removeVersion - true/false.
      prependGroupId - true/false.
      useBaseVersion - true/false.
      outputFileDirectory - the output directory.
  • Method Details

    • filter

      public Set<org.apache.maven.artifact.Artifact> filter(Set<org.apache.maven.artifact.Artifact> artifacts) throws org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException
      Specified by:
      filter in interface org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter
      Throws:
      org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException
    • isOverWriteReleases

      public boolean isOverWriteReleases()
      Returns:
      Returns the overWriteReleases.
    • setOverWriteReleases

      public void setOverWriteReleases(boolean overWriteReleases)
      Parameters:
      overWriteReleases - The overWriteReleases to set.
    • isOverWriteSnapshots

      public boolean isOverWriteSnapshots()
      Returns:
      Returns the overWriteSnapshots.
    • setOverWriteSnapshots

      public void setOverWriteSnapshots(boolean overWriteSnapshots)
      Parameters:
      overWriteSnapshots - The overWriteSnapshots to set.
    • isOverWriteIfNewer

      public boolean isOverWriteIfNewer()
      Returns:
      Returns the overWriteIfNewer.
    • setOverWriteIfNewer

      public void setOverWriteIfNewer(boolean overWriteIfNewer)
      Parameters:
      overWriteIfNewer - The overWriteIfNewer to set.
    • getOutputFileDirectory

      public File getOutputFileDirectory()
      Returns:
      Returns the outputFileDirectory.
    • setOutputFileDirectory

      public void setOutputFileDirectory(File outputFileDirectory)
      Parameters:
      outputFileDirectory - The outputFileDirectory to set.
    • isRemoveVersion

      public boolean isRemoveVersion()
      Returns:
      Returns the removeVersion.
    • setRemoveVersion

      public void setRemoveVersion(boolean removeVersion)
      Parameters:
      removeVersion - The removeVersion to set.
    • isRemoveClassifier

      public boolean isRemoveClassifier()
      Returns:
      Returns the removeClassifier.
    • setRemoveClassifier

      public void setRemoveClassifier(boolean removeClassifier)
      Parameters:
      removeClassifier - The removeClassifier to set.
    • isUseSubDirectoryPerArtifact

      public boolean isUseSubDirectoryPerArtifact()
      Returns:
      Returns the useSubDirectoryPerArtifact.
    • setUseSubDirectoryPerArtifact

      public void setUseSubDirectoryPerArtifact(boolean useSubDirectoryPerArtifact)
      Parameters:
      useSubDirectoryPerArtifact - The useSubDirectoryPerArtifact to set.
    • isUseSubDirectoryPerType

      public boolean isUseSubDirectoryPerType()
      Returns:
      Returns the useSubDirectoryPerType.
    • setUseSubDirectoryPerType

      public void setUseSubDirectoryPerType(boolean useSubDirectoryPerType)
      Parameters:
      useSubDirectoryPerType - The useSubDirectoryPerType to set.
    • isUseRepositoryLayout

      public boolean isUseRepositoryLayout()
      Returns:
      Returns the useRepositoryLayout
    • setUseRepositoryLayout

      public void setUseRepositoryLayout(boolean useRepositoryLayout)
      Parameters:
      useRepositoryLayout - the useRepositoryLayout to set
    • isArtifactIncluded

      public boolean isArtifactIncluded(ArtifactItem item) throws org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException
      Specified by:
      isArtifactIncluded in interface ArtifactItemFilter
      Parameters:
      item - ArtifactItem
      Returns:
      true/false.
      Throws:
      org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException - in case of an error.
    • getLastModified

      private long getLastModified(File file) throws org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException
      Using simply File.getLastModified will return sometimes a wrong value see JDK bug for details. https://bugs.openjdk.java.net/browse/JDK-8177809
      Parameters:
      file - File
      Returns:
      the last modification time in milliseconds.
      Throws:
      org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException - in case of a IO Exception.