An abstraction for finding and retrieving {@link Resource}s by abstract path name. Intuitively, it works like a jar in that each URL is uniquely located somewhere in an abstract namespace. The abstract names must be constructed from a series of zero or more valid Java identifiers followed by the '/' character and finally ending in a valid filename, for example,
com/google/gwt/blah.txt
.
The identity of the returned sets and maps will change exactly when the underlying module is refreshed.
Even when the identity of a returned set changes, the identity of any contained {@link Resource} values is guaranteed to differ from a previousresult exactly when that particular resource becomes invalid.
A resource could become invalid for various reasons, including:
- the underlying file was deleted or modified
- another file with the same logical name superceded it on the classpath
- the underlying module changed to exclude this file or supercede it with another file
After a refresh, a client can reliably detect changes by checking which of its cached resource is still contained in the new result of {@link #getResources()}.