Class PlexusIoFileResource
- java.lang.Object
-
- org.codehaus.plexus.components.io.resources.AbstractPlexusIoResource
-
- org.codehaus.plexus.components.io.resources.PlexusIoFileResource
-
- All Implemented Interfaces:
FileInfo
,ContentSupplier
,FileSupplier
,NameSupplier
,ResourceAttributeSupplier
,SizeSupplier
,PlexusIoResource
- Direct Known Subclasses:
PlexusIoSymlinkResource
public class PlexusIoFileResource extends AbstractPlexusIoResource implements ResourceAttributeSupplier, FileSupplier
Implementation ofPlexusIoResource
for files.
-
-
Field Summary
-
Fields inherited from interface org.codehaus.plexus.components.io.resources.PlexusIoResource
UNKNOWN_MODIFICATION_DATE, UNKNOWN_RESOURCE_SIZE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PlexusIoFileResource(File file, String name, PlexusIoResourceAttributes attrs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PlexusIoResourceAttributes
getAttributes()
InputStream
getContents()
Creates anInputStream
, which may be used to read the files contents.protected org.apache.commons.io.output.DeferredFileOutputStream
getDfos()
File
getFile()
Returns the resource file.FileAttributes
getFileAttributes()
long
getLastModified()
Returns the date, when the resource was last modified, if known.static String
getName(File file)
long
getSize()
Returns the resources size, if known.URL
getURL()
Returns anURL
, which may be used to reference the resource, if possible.boolean
isDirectory()
Returns, whether theFileInfo
refers to a directory.boolean
isExisting()
Returns, whether the resource exists.boolean
isFile()
Returns, whether theFileInfo
refers to a file.boolean
isSymbolicLink()
Returns, whether theFileInfo
refers to a symlink.-
Methods inherited from class org.codehaus.plexus.components.io.resources.AbstractPlexusIoResource
getName
-
-
-
-
Constructor Detail
-
PlexusIoFileResource
protected PlexusIoFileResource(@Nonnull File file, @Nonnull String name, @Nonnull PlexusIoResourceAttributes attrs) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getFile
@Nonnull public File getFile()
Returns the resource file.- Specified by:
getFile
in interfaceFileSupplier
- Returns:
- The file
-
getContents
@Nonnull public InputStream getContents() throws IOException
Description copied from interface:PlexusIoResource
Creates anInputStream
, which may be used to read the files contents. This is useful, if the file selector comes to a decision based on the files contents. Please note that this InputStream is unbuffered. Clients should wrap this in a BufferedInputStream or attempt reading reasonably large chunks (8K+).- Specified by:
getContents
in interfaceContentSupplier
- Specified by:
getContents
in interfaceFileInfo
- Specified by:
getContents
in interfacePlexusIoResource
- Throws:
IOException
-
getURL
@Nonnull public URL getURL() throws IOException
Description copied from interface:PlexusIoResource
Returns anURL
, which may be used to reference the resource, if possible.- Specified by:
getURL
in interfacePlexusIoResource
- Returns:
- An URL referencing the resource, if possible, or null.
In the latter case, you are forced to use
PlexusIoResource.getContents()
. - Throws:
IOException
-
getSize
public long getSize()
Description copied from interface:PlexusIoResource
Returns the resources size, if known. Otherwise returnsPlexusIoResource.UNKNOWN_RESOURCE_SIZE
.- Specified by:
getSize
in interfacePlexusIoResource
- Specified by:
getSize
in interfaceSizeSupplier
- Overrides:
getSize
in classAbstractPlexusIoResource
-
isDirectory
public boolean isDirectory()
Description copied from interface:PlexusIoResource
Returns, whether theFileInfo
refers to a directory.- Specified by:
isDirectory
in interfaceFileInfo
- Specified by:
isDirectory
in interfacePlexusIoResource
- Overrides:
isDirectory
in classAbstractPlexusIoResource
-
isExisting
public boolean isExisting()
Description copied from interface:PlexusIoResource
Returns, whether the resource exists.- Specified by:
isExisting
in interfacePlexusIoResource
- Overrides:
isExisting
in classAbstractPlexusIoResource
-
isFile
public boolean isFile()
Description copied from interface:PlexusIoResource
Returns, whether theFileInfo
refers to a file.- Specified by:
isFile
in interfaceFileInfo
- Specified by:
isFile
in interfacePlexusIoResource
- Overrides:
isFile
in classAbstractPlexusIoResource
-
getAttributes
@Nonnull public PlexusIoResourceAttributes getAttributes()
- Specified by:
getAttributes
in interfaceResourceAttributeSupplier
-
getFileAttributes
@Nonnull public FileAttributes getFileAttributes()
-
getLastModified
public long getLastModified()
Description copied from interface:PlexusIoResource
Returns the date, when the resource was last modified, if known. Otherwise, returnsPlexusIoResource.UNKNOWN_MODIFICATION_DATE
.- Specified by:
getLastModified
in interfacePlexusIoResource
- Overrides:
getLastModified
in classAbstractPlexusIoResource
- See Also:
File.lastModified()
-
isSymbolicLink
public boolean isSymbolicLink()
Description copied from interface:FileInfo
Returns, whether theFileInfo
refers to a symlink. This does not necessarily mean that the underlying representation *is* a symlink on disk, but that this resource represents a symlink. This method will return "false" for java versions prior to java7.- Specified by:
isSymbolicLink
in interfaceFileInfo
- Overrides:
isSymbolicLink
in classAbstractPlexusIoResource
-
getDfos
protected org.apache.commons.io.output.DeferredFileOutputStream getDfos()
-
-