Class AbstractPlexusIoResourceCollection
- java.lang.Object
-
- org.codehaus.plexus.components.io.resources.AbstractPlexusIoResourceCollection
-
- All Implemented Interfaces:
Iterable<PlexusIoResource>
,PlexusIoResourceCollection
- Direct Known Subclasses:
AbstractPlexusIoArchiveResourceCollection
,AbstractPlexusIoResourceCollectionWithAttributes
public abstract class AbstractPlexusIoResourceCollection extends Object implements PlexusIoResourceCollection
Default implementation of a resource collection.
-
-
Field Summary
Fields Modifier and Type Field Description static InputStreamTransformer
identityTransformer
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractPlexusIoResourceCollection()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]
getExcludes()
Returns a string of patterns, which excluded files should match.FileMapper[]
getFileMappers()
Returns the file name mappers, which are used to transform the resource names.FileSelector[]
getFileSelectors()
Returns a set of file selectors, which should be used to select the included files.String[]
getIncludes()
Returns a string of patterns, which included files should match.InputStream
getInputStream(PlexusIoResource resource)
Returns an input stream for the provided resource, with stream transformers appliedlong
getLastModified()
Returns the collections last modification time.protected String
getName(String resourceName)
String
getName(PlexusIoResource resource)
Returns the resources suggested name.String
getPrefix()
Returns the prefix, which the file sets contents shall have.protected InputStreamTransformer
getStreamTransformer()
boolean
isCaseSensitive()
Returns, whether the include/exclude patterns are case sensitive.boolean
isIncludingEmptyDirectories()
Returns, whether empty directories are being included.protected boolean
isSelected(PlexusIoResource plexusIoResource)
boolean
isUsingDefaultExcludes()
Returns, whether the default excludes are being applied.Iterator<PlexusIoResource>
iterator()
PlexusIoResource
resolve(PlexusIoResource resource)
Resolves the supplied resource into a "real" resource.void
setCaseSensitive(boolean caseSensitive)
Sets, whether the include/exclude patterns are case sensitive.void
setExcludes(String[] excludes)
Sets a string of patterns, which excluded files should match.void
setFileMappers(FileMapper[] fileMappers)
Sets the file name mappers, which are used to transform the resource names.void
setFileSelectors(FileSelector[] fileSelectors)
Sets a set of file selectors, which should be used to select the included files.void
setIncludes(String[] includes)
Sets a string of patterns, which included files should match.void
setIncludingEmptyDirectories(boolean includingEmptyDirectories)
Sets, whether empty directories are being included.void
setPrefix(String prefix)
Sets the prefix, which the file sets contents shall have.void
setStreamTransformer(InputStreamTransformer streamTransformer)
void
setUsingDefaultExcludes(boolean usingDefaultExcludes)
Sets, whether the default excludes are being applied.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection
getResources, isConcurrentAccessSupported, stream
-
-
-
-
Field Detail
-
identityTransformer
public static final InputStreamTransformer identityTransformer
-
-
Method Detail
-
setExcludes
public void setExcludes(String[] excludes)
Sets a string of patterns, which excluded files should match.
-
getExcludes
public String[] getExcludes()
Returns a string of patterns, which excluded files should match.
-
setFileSelectors
public void setFileSelectors(FileSelector[] fileSelectors)
Sets a set of file selectors, which should be used to select the included files.
-
getFileSelectors
public FileSelector[] getFileSelectors()
Returns a set of file selectors, which should be used to select the included files.
-
setStreamTransformer
public void setStreamTransformer(InputStreamTransformer streamTransformer)
-
getStreamTransformer
protected InputStreamTransformer getStreamTransformer()
-
setIncludes
public void setIncludes(String[] includes)
Sets a string of patterns, which included files should match.
-
getIncludes
public String[] getIncludes()
Returns a string of patterns, which included files should match.
-
setPrefix
public void setPrefix(String prefix)
Sets the prefix, which the file sets contents shall have.
-
getPrefix
public String getPrefix()
Returns the prefix, which the file sets contents shall have.
-
setCaseSensitive
public void setCaseSensitive(boolean caseSensitive)
Sets, whether the include/exclude patterns are case sensitive. Defaults to true.
-
isCaseSensitive
public boolean isCaseSensitive()
Returns, whether the include/exclude patterns are case sensitive. Defaults to true.
-
setUsingDefaultExcludes
public void setUsingDefaultExcludes(boolean usingDefaultExcludes)
Sets, whether the default excludes are being applied. Defaults to true.
-
isUsingDefaultExcludes
public boolean isUsingDefaultExcludes()
Returns, whether the default excludes are being applied. Defaults to true.
-
setIncludingEmptyDirectories
public void setIncludingEmptyDirectories(boolean includingEmptyDirectories)
Sets, whether empty directories are being included. Defaults to true.
-
isIncludingEmptyDirectories
public boolean isIncludingEmptyDirectories()
Returns, whether empty directories are being included. Defaults to true.
-
isSelected
protected boolean isSelected(PlexusIoResource plexusIoResource) throws IOException
- Throws:
IOException
-
getFileMappers
public FileMapper[] getFileMappers()
Returns the file name mappers, which are used to transform the resource names.
-
setFileMappers
public void setFileMappers(FileMapper[] fileMappers)
Sets the file name mappers, which are used to transform the resource names.
-
iterator
public Iterator<PlexusIoResource> iterator()
- Specified by:
iterator
in interfaceIterable<PlexusIoResource>
-
getName
public String getName(PlexusIoResource resource)
Description copied from interface:PlexusIoResourceCollection
Returns the resources suggested name. This is used for integrating file mappers.- Specified by:
getName
in interfacePlexusIoResourceCollection
- Parameters:
resource
- A resource, which has been obtained by callingPlexusIoResourceCollection.getResources()
.- Returns:
- The resource name. If it is a file, it should be normalized to platform separators
-
getInputStream
public InputStream getInputStream(PlexusIoResource resource) throws IOException
Description copied from interface:PlexusIoResourceCollection
Returns an input stream for the provided resource, with stream transformers applied- Specified by:
getInputStream
in interfacePlexusIoResourceCollection
- Parameters:
resource
- The resources- Returns:
- A possibly transformed resource
- Throws:
IOException
- when something goes bad
-
resolve
public PlexusIoResource resolve(PlexusIoResource resource) throws IOException
Description copied from interface:PlexusIoResourceCollection
Resolves the supplied resource into a "real" resource. Resolving means applying input transformations Returns an input stream for the provided resource, with stream transformers applied- Specified by:
resolve
in interfacePlexusIoResourceCollection
- Parameters:
resource
- The resources- Returns:
- A possibly transformed resource
- Throws:
IOException
- when something goes bad
-
getLastModified
public long getLastModified() throws IOException
Description copied from interface:PlexusIoResourceCollection
Returns the collections last modification time. For a collection of files, this might be the last modification time of the file, which has been modified at last. For an archive file, this might be the modification time of the archive file.- Specified by:
getLastModified
in interfacePlexusIoResourceCollection
- Returns:
PlexusIoResource.UNKNOWN_MODIFICATION_DATE
, if the collections last modification time is unknown, otherwise the last modification time in milliseconds.- Throws:
IOException
- .
-
-