org.codehaus.plexus.components.io.resources
Class PlexusIoFileResource

java.lang.Object
  extended by org.codehaus.plexus.components.io.resources.AbstractPlexusIoResource
      extended by org.codehaus.plexus.components.io.resources.AbstractPlexusIoResourceWithAttributes
          extended by org.codehaus.plexus.components.io.resources.PlexusIoFileResource
All Implemented Interfaces:
FileInfo, PlexusIoResource, PlexusIoResourceWithAttributes

public class PlexusIoFileResource
extends AbstractPlexusIoResourceWithAttributes
implements PlexusIoResourceWithAttributes

Implementation of PlexusIoResource for files.


Field Summary
 
Fields inherited from interface org.codehaus.plexus.components.io.resources.PlexusIoResource
UNKNOWN_MODIFICATION_DATE, UNKNOWN_RESOURCE_SIZE
 
Constructor Summary
  PlexusIoFileResource()
          Creates a new instance.
  PlexusIoFileResource(java.io.File file)
          Creates a new instance.
  PlexusIoFileResource(java.io.File file, PlexusIoResourceAttributes attrs)
          Creates a new instance.
  PlexusIoFileResource(java.io.File file, java.lang.String name)
          Creates a new instance.
  PlexusIoFileResource(java.io.File file, java.lang.String name, PlexusIoResourceAttributes attrs)
           
protected PlexusIoFileResource(java.io.File file, java.lang.String name, PlexusIoResourceAttributes attrs, boolean setPhysicalFileAttribute)
           
 
Method Summary
static PlexusIoFileResource existingFile(java.io.File file, PlexusIoResourceAttributes attrs)
           
 java.io.InputStream getContents()
          Creates an InputStream, which may be used to read the files contents.
 java.io.File getFile()
          Returns the resources file.
 long getLastModified()
          Returns the date, when the resource was last modified, if known.
 long getSize()
          Returns the resources size, if known.
 java.net.URL getURL()
          Returns an URL, which may be used to reference the resource, if possible.
 boolean isDirectory()
          Returns, whether the FileInfo refers to a directory.
 boolean isExisting()
          Returns, whether the resource exists.
 boolean isFile()
          Returns, whether the FileInfo refers to a file.
static PlexusIoFileResource readFromDisk(java.io.File file, java.lang.String name, PlexusIoResourceAttributes attrs)
           
 void setDirectory(boolean isDirectory)
          Sets, whether the resource is a directory.
 void setExisting(boolean isExisting)
          Sets, whether the resource exists.
 void setFile(boolean isFile)
          Sets, whether the resource is a file.
 void setLastModified(long lastModified)
          Sets the date, when the resource was last modified.
 void setSize(long size)
          Sets the resources size.
 
Methods inherited from class org.codehaus.plexus.components.io.resources.AbstractPlexusIoResourceWithAttributes
getAttributes, setAttributes
 
Methods inherited from class org.codehaus.plexus.components.io.resources.AbstractPlexusIoResource
getName, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.codehaus.plexus.components.io.resources.PlexusIoResourceWithAttributes
getAttributes, setAttributes
 
Methods inherited from interface org.codehaus.plexus.components.io.fileselectors.FileInfo
getName
 

Constructor Detail

PlexusIoFileResource

public PlexusIoFileResource()
Creates a new instance.


PlexusIoFileResource

public PlexusIoFileResource(java.io.File file)
Creates a new instance.


PlexusIoFileResource

public PlexusIoFileResource(java.io.File file,
                            PlexusIoResourceAttributes attrs)
Creates a new instance.


PlexusIoFileResource

public PlexusIoFileResource(java.io.File file,
                            java.lang.String name)
Creates a new instance.


PlexusIoFileResource

public PlexusIoFileResource(java.io.File file,
                            java.lang.String name,
                            PlexusIoResourceAttributes attrs)

PlexusIoFileResource

protected PlexusIoFileResource(java.io.File file,
                               java.lang.String name,
                               PlexusIoResourceAttributes attrs,
                               boolean setPhysicalFileAttribute)
Method Detail

readFromDisk

public static PlexusIoFileResource readFromDisk(java.io.File file,
                                                java.lang.String name,
                                                PlexusIoResourceAttributes attrs)

existingFile

public static PlexusIoFileResource existingFile(java.io.File file,
                                                PlexusIoResourceAttributes attrs)

getFile

public java.io.File getFile()
Returns the resources file.


getContents

public java.io.InputStream getContents()
                                throws java.io.IOException
Description copied from interface: FileInfo
Creates an InputStream, 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.

Specified by:
getContents in interface FileInfo
Throws:
java.io.IOException

getURL

public java.net.URL getURL()
                    throws java.io.IOException
Description copied from interface: PlexusIoResource
Returns an URL, which may be used to reference the resource, if possible.

Specified by:
getURL in interface PlexusIoResource
Returns:
An URL referencing the resource, if possible, or null. In the latter case, you are forced to use #getInputStream().
Throws:
java.io.IOException

getLastModified

public long getLastModified()
Description copied from interface: PlexusIoResource
Returns the date, when the resource was last modified, if known. Otherwise, returns PlexusIoResource.UNKNOWN_MODIFICATION_DATE.

Specified by:
getLastModified in interface PlexusIoResource
Overrides:
getLastModified in class AbstractPlexusIoResource
See Also:
File.lastModified()

getSize

public long getSize()
Description copied from interface: PlexusIoResource
Returns the resources size, if known. Otherwise returns PlexusIoResource.UNKNOWN_RESOURCE_SIZE.

Specified by:
getSize in interface PlexusIoResource
Overrides:
getSize in class AbstractPlexusIoResource

isDirectory

public boolean isDirectory()
Description copied from interface: FileInfo
Returns, whether the FileInfo refers to a directory.

Specified by:
isDirectory in interface FileInfo
Overrides:
isDirectory in class AbstractPlexusIoResource

isExisting

public boolean isExisting()
Description copied from interface: PlexusIoResource
Returns, whether the resource exists.

Specified by:
isExisting in interface PlexusIoResource
Overrides:
isExisting in class AbstractPlexusIoResource

isFile

public boolean isFile()
Description copied from interface: FileInfo
Returns, whether the FileInfo refers to a file.

Specified by:
isFile in interface FileInfo
Overrides:
isFile in class AbstractPlexusIoResource

setDirectory

public void setDirectory(boolean isDirectory)
Description copied from class: AbstractPlexusIoResource
Sets, whether the resource is a directory.

Overrides:
setDirectory in class AbstractPlexusIoResource

setExisting

public void setExisting(boolean isExisting)
Description copied from class: AbstractPlexusIoResource
Sets, whether the resource exists.

Overrides:
setExisting in class AbstractPlexusIoResource

setFile

public void setFile(boolean isFile)
Description copied from class: AbstractPlexusIoResource
Sets, whether the resource is a file.

Overrides:
setFile in class AbstractPlexusIoResource

setLastModified

public void setLastModified(long lastModified)
Description copied from class: AbstractPlexusIoResource
Sets the date, when the resource was last modified.

Overrides:
setLastModified in class AbstractPlexusIoResource
See Also:
File.lastModified()

setSize

public void setSize(long size)
Description copied from class: AbstractPlexusIoResource
Sets the resources size.

Overrides:
setSize in class AbstractPlexusIoResource
Parameters:
size - The resources size, if known. Otherwise returns PlexusIoResource.UNKNOWN_RESOURCE_SIZE.
See Also:
File.length()


Copyright © 2001-2011 Codehaus. All Rights Reserved.