Describes the location of a resource, such as a specification or template. Resources may be located within the classpath, or within the Web context root or somewhere else entirely.
Resources may be either base or localized. A localized version of a base resource may be obtained via {@link #getLocalization(Locale)}.
Resource locations are used as Map keys, they must implement {@link java.lang.Object#hashCode()} and{@link java.lang.Object#equals(java.lang.Object)}properly.
Resource locations are valid even if the corresponding resource doesn't exist. To verify if a localization actually exists, use {@link #getResourceURL()}, which returns null if the resource doesn't exist. {@link #getLocalization(Locale)}returns only real resource locations, where the resource exists.
Folders must be represented with a trailing slash.
@author Howard Lewis Ship
@version $Id: IResourceLocation.java 243791 2004-02-19 17:38:13Z hlship $
@since 3.0