org.codehaus.plexus.resource.loader
Class FilePlexusResource

java.lang.Object
  extended by org.codehaus.plexus.resource.loader.FilePlexusResource
All Implemented Interfaces:
PlexusResource

public class FilePlexusResource
extends java.lang.Object
implements PlexusResource

Implementation of PlexusResource for files.


Constructor Summary
FilePlexusResource(java.io.File file)
           
 
Method Summary
 java.io.File getFile()
           Returns the resource as a file, if possible.
 java.io.InputStream getInputStream()
           Returns the resource as an InputStream.
 java.lang.String getName()
          Returns the resources name, if possible.
 java.net.URI getURI()
           Returns the resources URI, if possible.
 java.net.URL getURL()
           Returns the resources URL, if possible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilePlexusResource

public FilePlexusResource(java.io.File file)
Method Detail

getFile

public java.io.File getFile()
                     throws java.io.IOException
Description copied from interface: PlexusResource

Returns the resource as a file, if possible. A resource doesn't need to be available as a file: If you require a file, use ResourceManager.getResourceAsFile(PlexusResource).

Specified by:
getFile in interface PlexusResource
Returns:
A File containing the resources contents, if available, or null.
Throws:
java.io.IOException

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
Description copied from interface: PlexusResource

Returns the resource as an InputStream. In general, you should not assume, that this method may me called more than once. In typical cases (for example, if the Resource is backed by a file or loaded through the classpath), one may create an InputStream as often as is necessary. However, you should think of cases like an URL pointing to a servlet, where the resource contents change with every call.

If you need a reliable way of reloading the resource more than once, then you should use ResourceManager.getResourceAsFile(PlexusResource).

Specified by:
getInputStream in interface PlexusResource
Returns:
An InputStream with the resources contents, never null.
Throws:
java.io.IOException

getName

public java.lang.String getName()
Description copied from interface: PlexusResource
Returns the resources name, if possible. A resources name is a relatively unspecified thing. For example, if the resource has an URL, the name might be created by invoking URL.toExternalForm(). In the case of a File, it might be File.getPath().

Specified by:
getName in interface PlexusResource

getURI

public java.net.URI getURI()
                    throws java.io.IOException
Description copied from interface: PlexusResource

Returns the resources URI, if possible. A resource doesn't need to have an URI.

Specified by:
getURI in interface PlexusResource
Returns:
The resources URI, if available, or null.
Throws:
java.io.IOException

getURL

public java.net.URL getURL()
                    throws java.io.IOException
Description copied from interface: PlexusResource

Returns the resources URL, if possible. A resource doesn't need to have an URL.

Specified by:
getURL in interface PlexusResource
Returns:
The resources URL, if available, or null.
Throws:
java.io.IOException


Copyright © 2001-2010 Codehaus. All Rights Reserved.