org.eclipse.rwt.resources
Interface IResourceManager
- public interface IResourceManager
The resource manager is responsible for registering resources
like images, css files etc. which are available on the applications
classpath. The registered files will be read out from their libraries
and delivered if requested. Usually resources are stored in libraries
in the WEB-INF/lib directory of a web-application
This interface is not intended to be implemented by clients.
-
Since:
- 1.0
Method Summary
|
String
|
getCharset
(
String name)
Returns the charset of a registered resource as it was specified in
the call to register(String,String) or
register(String,String,ResourceOption) . |
ClassLoader
|
getContextLoader
()
Returns the ClassLoader that should be used to load
or register resources in case that these resources are not available
for the RAP context loader. |
String
|
getLocation
(
String name)
Returns a location within the web-applications context where the
resource will be available for the browser to download. |
InputStream
|
getRegisteredContent
(
String name)
Returns the content of the registered resource with the given name. |
URL
|
getResource
(
String name)
Finds the resource with the given name. |
InputStream
|
getResourceAsStream
(
String name)
Returns an input stream for reading the specified resource. |
Enumeration
|
getResources
(
String name)
Finds all the resources with the given name. |
boolean
|
isRegistered
(
String name)
returns whether the resource with the given name has already been
registered with this IResourceManager instance. |
void
|
register
(
String name)
registers a resource which is located on the web-applications
classpath. |
void
|
register
(
String name,
InputStream is)
registers a given resource for download with the given name relative
to the context root. |
void
|
register
(
String name,
InputStream is,
String charset,
IResourceManager.RegisterOptions options)
registers a text resource that is encoded with the given
charset for download with the given name relative to the
context root. |
void
|
register
(
String name,
String charset)
registers a text resource which is located on the web-applications
classpath and encoded with the given charset . |
void
|
register
(
String name,
String charset,
IResourceManager.RegisterOptions options)
registers a text resource which is located on the web-applications
classpath and encoded with the given charset . |
void
|
setContextLoader
(
ClassLoader classLoader)
If resources are not available for the w4toolkit context
classloader, it may be necessary to specify a classloader
before using one of the registerXXX or
getResourceXXX methods. |
register
public void register(
String name)
-
registers a resource which is located on the web-applications
classpath.
-
-
Parameters:
-
name
- filename which identifies the resource to register. The
filename must be relative to a classpath root, e.g. a gif
'my.gif' located within the package 'org.eclipse.rap' is identified
as 'org/eclipse/rap/my.gif'. Must not be null
.
register
public void register(
String name,
InputStream is)
-
registers a given resource for download with the given name relative
to the context root.
-
-
Parameters:
-
name
- filename that represents the download path relative to
the applications context root. -
is
- the content of the resource to register.
register
public void register(
String name,
String charset)
-
registers a text resource which is located on the web-applications
classpath and encoded with the given charset
.
-
-
Parameters:
-
name
- filename which identifies the resource to register. The
filename must be relative to a classpath root, e.g. a gif
'my.gif' located within the package 'org.eclipse.rap' is identified
as 'org/eclipse/rap/my.gif' -
charset
- the name of the charset which was used when the resource
was stored.
register
public void register(
String name,
String charset,
IResourceManager.RegisterOptions options)
-
registers a text resource which is located on the web-applications
classpath and encoded with the given charset
.
By specifying an option
other than NONE
the resource will be versioned and/or compressed. As compressing is
only intended for resources that contain JavaScript, versioning might
be useful for other resources as well. When versioning is enabled a
version number is appended to the resources' name which is derived from
its content.
-
-
Parameters:
-
name
- - filename which identifies the resource to register. The
filename must be relative to a classpath root, e.g. a gif
'my.gif' located within the package 'org.eclipse.rap' is identified
as 'org/eclipse/rap/my.gif'. Must not be null
. -
charset
- - the name of the charset which was used when the resource
was stored. Must not be null
. -
options
- - an enumeration which specifies whether the resource will
be versioned and/or compressed. Must not be null
.
register
public void register(
String name,
InputStream is,
String charset,
IResourceManager.RegisterOptions options)
-
registers a text resource that is encoded with the given
charset
for download with the given name relative to the
context root.
By specifying an option
other than NONE
the
resource will be versioned and/or compressed. As compressing is only
intended for resources that contain JavaScript, versioning might be useful
for other resources as well. When versioning is enabled a version number is
appended to the resources' name which is derived from its content.
-
-
Parameters:
-
name
- filename that represents the download path relative to the
applications context root. -
is
- the content of the resource to register. -
charset
- - the name of the charset which was used when the resource
was stored. Must not be null
. -
options
- - an enumeration which specifies whether the resource will
be versioned and/or compressed. Must not be null
.
getCharset
public
String getCharset(
String name)
-
Returns the charset of a registered resource as it was specified in
the call to register(String,String)
or
register(String,String,ResourceOption)
.
-
-
Parameters:
-
name
- - the name of the resource to obtain the charset from. Must
not be null
.
-
Returns:
- the charset name or
null
if none was specified.
isRegistered
public boolean isRegistered(
String name)
-
returns whether the resource with the given name has already been
registered with this IResourceManager instance.
-
-
Parameters:
-
name
- filename which identifies the registered resource. The
filename must be relative to a classpath root, e.g. a gif
'my.gif' located within the package 'org.eclipse.rap' is identified
as 'org/eclipse/rap/my.gif'. Must not be null
.
-
Returns:
- if the resource is already registered
getLocation
public
String getLocation(
String name)
- Returns a location within the web-applications context where the
resource will be available for the browser to download.
-
-
Parameters:
-
name
- filename which identifies the registered resource. The
filename must be relative to a classpath root, e.g. a gif
'my.gif' located within the package 'org.eclipse.rap' is identified
as 'org/eclipse/rap/my.gif'. Must not be null
.
-
Returns:
- the location where the resource will be available for the browser
getResource
public
URL getResource(
String name)
- Finds the resource with the given name. A resource is some data
(images, audio, text, etc) that can be accessed by class code in a way
that is independent of the location of the code.
Note: This method searchs the classpath of the current web-application
and should be used instead of ClassLoader.getResource(String)
to avoid finding problems on some application servers that use their own
classloader implementations.
-
-
Parameters:
-
name
- A '/
'-separated path name that identifies the
resource.
-
Returns:
- A
URL
object for reading the resource, or
null
if the resource could not be found or the
invoker doesn't have adequate privileges to get the resource.
getResourceAsStream
public
InputStream getResourceAsStream(
String name)
- Returns an input stream for reading the specified resource. A resource is
some data (images, audio, text, etc) that can be accessed by class code in
a way that is independent of the location of the code.
Note: This method searchs the classpath of the current web-application
and should be used instead of
ClassLoader.getResourceAsStream(String)
to avoid finding problems on some application servers that use their own
classloader implementations.
-
-
Parameters:
-
name
- A '/
'-separated path name that identifies the
resource.
-
Returns:
- An input stream for reading the resource, or
null
if the resource could not be found.
getResources
public
Enumeration getResources(
String name)
throws
IOException
- Finds all the resources with the given name. A resource is some data
(images, audio, text, etc) that can be accessed by class code in a way
that is independent of the location of the code.
Note: This method searchs the classpath of the current web-application
and should be used instead of ClassLoader.getResources(String)
to avoid finding problems on some application servers that use their own
classloader implementations.
-
-
Parameters:
-
name
- A '/
'-separated path name that identifies the
resource.
-
Returns:
- An enumeration of
URL
objects
for the resource. If no resources could be found, the enumeration
will be empty. Resources that classloaders doesn't have
access to will not be in the enumeration.
-
Throws:
-
IOException
- If I/O errors occur
setContextLoader
public void setContextLoader(
ClassLoader classLoader)
- If resources are not available for the w4toolkit context
classloader, it may be necessary to specify a classloader
before using one of the
registerXXX
or
getResourceXXX
methods. Note that in case of the
getResourceXXX
methods the calls are simply delegated
to the specified classloader.
Usage:
IResourceManager manager = W4TContext.getResourceManager();
ClassLoader contextLoader = ... // retrieve the classloader
manager.setContextLoader( contextLoader );
try {
manager.register( "resources/images/myimage.gif" );
} finally {
manager.setContextLoader( null );
}
-
-
Parameters:
-
classLoader
- the classloader that has access to the resources
that should be loaded or registered via this
IResourceManager
or null
to unset the context loader after usage.
getContextLoader
public
ClassLoader getContextLoader()
- Returns the
ClassLoader
that should be used to load
or register resources in case that these resources are not available
for the RAP context loader. May return null
if no
context loader is specified.
-
-
Returns:
- the classloader to use
getRegisteredContent
public
InputStream getRegisteredContent(
String name)
- Returns the content of the registered resource with the given name.
-
-
Parameters:
-
name
- the name of the resource
-
Returns:
- an input stream to the contents of the resource, or
null
if no such resource exists -
Since:
- 1.1
Copyright (c) Innoopract Informationssysteme GmbH and others 2002, 2008. All rights reserved.