Class PlexusIoProxyResourceCollection
- All Implemented Interfaces:
Iterable<PlexusIoResource>, EncodingSupported, PlexusIoResourceCollection
PlexusIoResourceCollection for an archives contents.-
Field Summary
Fields inherited from class AbstractPlexusIoResourceCollection
identityTransformer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected FileSelectorlongReturns the collections last modification time.getName(PlexusIoResource resource) Returns the resources suggested name.Returns an iterator over the resources in the collection.getSrc()Returns the archive to read.booleanIndicates if this collection supports concurrent access to its resources.voidsetDefaultAttributes(int uid, String userName, int gid, String groupName, int fileMode, int dirMode) voidsetEncoding(Charset charset) Supplies the encoding to be used for decoding filenames/pathsvoidsetOverrideAttributes(int uid, String userName, int gid, String groupName, int fileMode, int dirMode) voidsetStreamTransformer(InputStreamTransformer streamTransformer) stream()Returns the resources as a stream.Methods inherited from class AbstractPlexusIoResourceCollectionWithAttributes
getDefaultDirAttributes, getDefaultFileAttributes, getOverrideDirAttributes, getOverrideFileAttributes, mergeAttributes, setDefaultDirAttributes, setDefaultFileAttributes, setOverrideDirAttributes, setOverrideFileAttributesMethods inherited from class AbstractPlexusIoResourceCollection
getExcludes, getFileMappers, getFileSelectors, getIncludes, getInputStream, getName, getPrefix, getStreamTransformer, isCaseSensitive, isIncludingEmptyDirectories, isSelected, isUsingDefaultExcludes, iterator, resolve, setCaseSensitive, setExcludes, setFileMappers, setFileSelectors, setIncludes, setIncludingEmptyDirectories, setPrefix, setUsingDefaultExcludesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
PlexusIoProxyResourceCollection
-
-
Method Details
-
getSrc
Returns the archive to read. -
setDefaultAttributes
-
setOverrideAttributes
-
setStreamTransformer
- Overrides:
setStreamTransformerin classAbstractPlexusIoResourceCollection
-
getDefaultFileSelector
-
stream
Description copied from interface:PlexusIoResourceCollectionReturns the resources as a stream.- Specified by:
streamin interfacePlexusIoResourceCollection- Returns:
- A stream for functional iteration
-
getResources
Description copied from interface:PlexusIoResourceCollectionReturns an iterator over the resources in the collection.- Specified by:
getResourcesin interfacePlexusIoResourceCollection- Returns:
- An iterator
- Throws:
IOException- .
-
getName
Description copied from interface:PlexusIoResourceCollectionReturns the resources suggested name. This is used for integrating file mappers.- Specified by:
getNamein interfacePlexusIoResourceCollection- Overrides:
getNamein classAbstractPlexusIoResourceCollection- 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
-
getLastModified
Description copied from interface:PlexusIoResourceCollectionReturns 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:
getLastModifiedin interfacePlexusIoResourceCollection- Overrides:
getLastModifiedin classAbstractPlexusIoResourceCollection- Returns:
PlexusIoResource.UNKNOWN_MODIFICATION_DATE, if the collections last modification time is unknown, otherwise the last modification time in milliseconds.- Throws:
IOException- .
-
setEncoding
Description copied from interface:EncodingSupportedSupplies the encoding to be used for decoding filenames/paths- Specified by:
setEncodingin interfaceEncodingSupported- Parameters:
charset- The charset to use
-
isConcurrentAccessSupported
public boolean isConcurrentAccessSupported()Description copied from interface:PlexusIoResourceCollectionIndicates if this collection supports concurrent access to its resources.Some resource collections (like tar files) may not support efficient random access or seek operation so implementations that represent such collections may not be able to provide concurrent access to its resources. If implementation returns
false, then it is not safe to access its methods and resources in concurrent fashion. For example it is not safe to read from two resources in two concurrent threads, to read a resource and iterate over the iterator returned byPlexusIoResourceCollection.getResources()in two concurrent threads, etc.Please note that this method indicates concurrent support only for the collection, not for the individual resources. This means there is no guarantee that the resources returned by
PlexusIoResourceCollection.resolve(PlexusIoResource)or the input stream returned byPlexusIoResourceCollection.getInputStream(PlexusIoResource)are thread-safe, even iftrueis returned.- Specified by:
isConcurrentAccessSupportedin interfacePlexusIoResourceCollection- Returns:
trueif this collection supports concurrent access, otherwisefalse
-