public class FOURIResolver extends Object implements URIResolver
FOUserAgent
will use unless overridden.URIResolver
Constructor and Description |
---|
FOURIResolver()
Default constructor
|
FOURIResolver(boolean throwExceptions)
Additional constructor
|
Modifier and Type | Method and Description |
---|---|
String |
checkBaseURL(String base)
Checks if the given base URL is acceptable.
|
URIResolver |
getCustomURIResolver()
Returns the custom URI Resolver.
|
Source |
resolve(String href,
String base)
Called by the processor through
FOUserAgent when it encounters an
uri in an external-graphic element. |
void |
setCustomURIResolver(URIResolver resolver)
Sets the custom URI Resolver.
|
void |
setThrowExceptions(boolean throwExceptions) |
public FOURIResolver()
public FOURIResolver(boolean throwExceptions)
throwExceptions
- true if exceptions are to be thrown if the URIs cannot be
resolved.public String checkBaseURL(String base) throws MalformedURLException
base
- the base URL to checkMalformedURLException
- if there's a problem with a file URLpublic Source resolve(String href, String base) throws TransformerException
FOUserAgent
when it encounters an
uri in an external-graphic element. (see also
URIResolver.resolve(String, String)
This
resolver will allow URLs without a scheme, i.e. it assumes 'file:' as the
default scheme. It also allows relative URLs with scheme, e.g.
file:../../abc.jpg which is not strictly RFC compliant as long as the
scheme is the same as the scheme of the base URL. If the base URL is null
a 'file:' URL referencing the current directory is used as the base URL.
If the method is successful it will return a Source of type
StreamSource
with its SystemID set to
the resolved URL used to open the underlying InputStream.resolve
in interface URIResolver
href
- An href attribute, which may be relative or absolute.base
- The base URI against which the first argument will be made
absolute if the absolute URI is required.Source
object, or null if the href
cannot be resolved.TransformerException
- Never thrown by this implementation.URIResolver.resolve(String, String)
public void setCustomURIResolver(URIResolver resolver)
resolver
- the new URI resolverpublic URIResolver getCustomURIResolver()
public void setThrowExceptions(boolean throwExceptions)
throwExceptions
- Whether or not to throw exceptions on resolution errorCopyright © 2010 - 2020 Adobe. All Rights Reserved