Class 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 Detail

      • overWriteReleases

        private boolean overWriteReleases
      • overWriteSnapshots

        private boolean overWriteSnapshots
      • overWriteIfNewer

        private boolean overWriteIfNewer
      • useSubDirectoryPerArtifact

        private boolean useSubDirectoryPerArtifact
      • useSubDirectoryPerType

        private boolean useSubDirectoryPerType
      • useSubDirectoryPerScope

        private boolean useSubDirectoryPerScope
      • useRepositoryLayout

        private boolean useRepositoryLayout
      • removeVersion

        private boolean removeVersion
      • removeClassifier

        private boolean removeClassifier
      • prependGroupId

        private boolean prependGroupId
      • useBaseVersion

        private boolean useBaseVersion
      • outputFileDirectory

        private java.io.File outputFileDirectory
    • Constructor Detail

      • DestFileFilter

        public DestFileFilter​(java.io.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,
                              java.io.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 Detail

      • filter

        public java.util.Set<org.apache.maven.artifact.Artifact> filter​(java.util.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 java.io.File getOutputFileDirectory()
        Returns:
        Returns the outputFileDirectory.
      • setOutputFileDirectory

        public void setOutputFileDirectory​(java.io.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​(java.io.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.