Class PortletContextResource
- java.lang.Object
- org.springframework.core.io.AbstractResource
- org.springframework.core.io.AbstractFileResolvingResource
- org.springframework.web.portlet.context.PortletContextResource
- All Implemented Interfaces:
ContextResource,InputStreamSource,Resource
public class PortletContextResource extends AbstractFileResolvingResource implements ContextResource
Resourceimplementation forPortletContextresources, interpreting relative paths within the portlet application root directory.Always supports stream access and URL access, but only allows
java.io.Fileaccess when the portlet application archive is expanded.- Since:
- 2.0
- Author:
- Juergen Hoeller, John A. Lewis
- See Also:
PortletContext.getResourceAsStream(java.lang.String),PortletContext.getRealPath(java.lang.String)
Constructor Summary
Constructors Constructor Description PortletContextResource(PortletContext portletContext, String path)Create a new PortletContextResource.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourcecreateRelative(String relativePath)This implementation throws a FileNotFoundException, assuming that relative resources cannot be created for this resource.booleanequals(Object obj)This implementation compares description strings.booleanexists()This implementation checksPortletContext.getResource.StringgetDescription()Return a description for this resource, to be used for error output when working with the resource.FilegetFile()This implementation resolves "file:" URLs or alternatively delegates toPortletContext.getRealPath, throwing a FileNotFoundException if not found or not resolvable.StringgetFilename()This implementation always returnsnull, assuming that this resource type does not have a filename.InputStreamgetInputStream()This implementation delegates toPortletContext.getResourceAsStream, but throws a FileNotFoundException if not found.StringgetPath()Return the path for this resource.StringgetPathWithinContext()Return the path within the enclosing 'context'.PortletContextgetPortletContext()Return the PortletContext for this resource.URLgetURL()This implementation delegates toPortletContext.getResource, but throws a FileNotFoundException if no resource found.inthashCode()This implementation returns the description's hash code.booleanisReadable()This implementation delegates toPortletContext.getResourceAsStream, which returnsnullin case of a non-readable resource (e.g.Methods inherited from class org.springframework.core.io.AbstractFileResolvingResource
contentLength, customizeConnection, customizeConnection, getFile, getFileForLastModifiedCheck, lastModified
Methods inherited from class org.springframework.core.io.AbstractResource
getURI, isOpen, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.core.io.Resource
contentLength, getURI, isOpen, lastModified
Constructor Detail
PortletContextResource
public PortletContextResource(PortletContext portletContext, String path)
Create a new PortletContextResource.The Portlet spec requires that resource paths start with a slash, even if many containers accept paths without leading slash too. Consequently, the given path will be prepended with a slash if it doesn't already start with one.
- Parameters:
portletContext- the PortletContext to load frompath- the path of the resource
Method Detail
getPortletContext
public final PortletContext getPortletContext()
Return the PortletContext for this resource.
exists
public boolean exists()
This implementation checksPortletContext.getResource.- Specified by:
existsin interfaceResource- Overrides:
existsin classAbstractFileResolvingResource- See Also:
PortletContext.getResource(String)
isReadable
public boolean isReadable()
This implementation delegates toPortletContext.getResourceAsStream, which returnsnullin case of a non-readable resource (e.g. a directory).- Specified by:
isReadablein interfaceResource- Overrides:
isReadablein classAbstractFileResolvingResource- See Also:
PortletContext.getResourceAsStream(String)
getInputStream
public InputStream getInputStream() throws IOException
This implementation delegates toPortletContext.getResourceAsStream, but throws a FileNotFoundException if not found.- Specified by:
getInputStreamin interfaceInputStreamSource- Returns:
- the input stream for the underlying resource (must not be
null) - Throws:
FileNotFoundException- if the underlying resource doesn't existIOException- if the content stream could not be opened- See Also:
PortletContext.getResourceAsStream(String)
getURL
public URL getURL() throws IOException
This implementation delegates toPortletContext.getResource, but throws a FileNotFoundException if no resource found.- Specified by:
getURLin interfaceResource- Overrides:
getURLin classAbstractResource- Throws:
IOException- if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor- See Also:
PortletContext.getResource(String)
getFile
public File getFile() throws IOException
This implementation resolves "file:" URLs or alternatively delegates toPortletContext.getRealPath, throwing a FileNotFoundException if not found or not resolvable.- Specified by:
getFilein interfaceResource- Overrides:
getFilein classAbstractFileResolvingResource- Throws:
FileNotFoundException- if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file systemIOException- in case of general resolution/reading failures- See Also:
PortletContext.getResource(String),PortletContext.getRealPath(String)
createRelative
public Resource createRelative(String relativePath)
Description copied from class:AbstractResourceThis implementation throws a FileNotFoundException, assuming that relative resources cannot be created for this resource.- Specified by:
createRelativein interfaceResource- Overrides:
createRelativein classAbstractResource- Parameters:
relativePath- the relative path (relative to this resource)- Returns:
- the resource handle for the relative resource
getFilename
public String getFilename()
Description copied from class:AbstractResourceThis implementation always returnsnull, assuming that this resource type does not have a filename.- Specified by:
getFilenamein interfaceResource- Overrides:
getFilenamein classAbstractResource
getDescription
public String getDescription()
Description copied from interface:ResourceReturn a description for this resource, to be used for error output when working with the resource.Implementations are also encouraged to return this value from their
toStringmethod.- Specified by:
getDescriptionin interfaceResource- See Also:
Object.toString()
getPathWithinContext
public String getPathWithinContext()
Description copied from interface:ContextResourceReturn the path within the enclosing 'context'.This is typically path relative to a context-specific root directory, e.g. a ServletContext root or a PortletContext root.
- Specified by:
getPathWithinContextin interfaceContextResource
equals
public boolean equals(Object obj)
Description copied from class:AbstractResourceThis implementation compares description strings.- Overrides:
equalsin classAbstractResource- See Also:
Resource.getDescription()
hashCode
public int hashCode()
Description copied from class:AbstractResourceThis implementation returns the description's hash code.- Overrides:
hashCodein classAbstractResource- See Also:
Resource.getDescription()