ttp://", "classpath:/" etc.
Note,it adds support for referencing classpath based resources through a {@link java.net.URI} e.g. "classpath:/org/milyn/x/my-resource.xml" referencesa "/org/milyn/x/my-resource.xml" resource on the classpath.
This class resolves resources based on whether or not the requested resource {@link URI} hasa URI scheme specified. If it has a scheme, it simply resolves the resource by creating a {@link URL} instance from the URI and opening a stream on that URL. If the URI doesn't have a scheme,this class will attempt to resolve the resource against the local filesystem and classpath (in that order). In all cases (scheme or no scheme), the resource URI is first resolved against base URI, with the resulting URI being the one that's used.
As already stated, all resource URIs are {@link URI#resolve(String) resolved} against a "base URI". This base URI can be set through the{@link #setBaseURI(java.net.URI)} method, or via the System property "org.milyn.resource.baseuri".The default base URI is simply "./", which has no effect on the input URI when resolved against it.
@author tfennelly