public class RemoteURIResolver extends Object implements URIResolver, Serviceable, Contextualizable
URIResolver
for type "remote".Modifier and Type | Class and Description |
---|---|
protected class |
RemoteURIResolver.ProxiedUri
Proxied URI
|
Modifier and Type | Field and Description |
---|---|
private static Pattern |
__URI_PATTERN |
protected Context |
_context
The context
|
protected URIResolverExtensionPoint |
_uriResolverEP
The ametys uri resolver
|
Constructor and Description |
---|
RemoteURIResolver() |
Modifier and Type | Method and Description |
---|---|
ConsistencyChecker.CHECK |
checkLink(String uri,
boolean shortTest)
Tests if the URI is not broken.
|
void |
contextualize(Context context) |
protected String |
getAbsoluteRemoteUri(Request request,
String resolvedUri)
Get the absolute proxied uri
|
protected String |
getAbsoluteRemoteUriPrefix()
Get the absolute URI prefix
|
I18nizableText |
getLabel(String uri)
Get an URI label.
|
protected RemoteURIResolver.ProxiedUri |
getProxiedUri(String uri)
Get the proxied uri
|
String |
getType()
Returns the type of links handled by this
URIResolver . |
protected String |
getUriPrefix(Request request)
Get the URI prefix (non absolute) for resolved uri
|
String |
resolve(String uri,
boolean download,
boolean absolute,
boolean internal)
Resolves a link URI for rendering purposes.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser. |
String |
resolveBoundedImage(String uri,
int maxHeight,
int maxWidth,
boolean download,
boolean absolute,
boolean internal)
Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser. |
String |
resolveBoundedImageAsBase64(String uri,
int maxHeight,
int maxWidth)
Resolve an image and return it as a base64-encoded string.
|
String |
resolveCroppedImage(String uri,
int cropHeight,
int cropWidth,
boolean download,
boolean absolute,
boolean internal)
Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser. |
String |
resolveCroppedImageAsBase64(String uri,
int cropHeight,
int cropWidth)
Resolve an image and return it as a base64-encoded string.
|
String |
resolveImage(String uri,
int height,
int width,
boolean download,
boolean absolute,
boolean internal)
Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser. |
String |
resolveImageAsBase64(String uri,
int height,
int width)
Resolve an image and return it as a base64-encoded string.
|
void |
service(ServiceManager manager) |
private static final Pattern __URI_PATTERN
protected URIResolverExtensionPoint _uriResolverEP
public RemoteURIResolver()
public void service(ServiceManager manager) throws ServiceException
service
in interface Serviceable
ServiceException
public void contextualize(Context context) throws ContextException
contextualize
in interface Contextualizable
ContextException
public String getType()
URIResolver
URIResolver
.getType
in interface URIResolver
URIResolver
.public String resolve(String uri, boolean download, boolean absolute, boolean internal)
URIResolver
resolve
in interface URIResolver
uri
- the link URI.download
- true if the pointed resource is to be downloaded.absolute
- true if the url must be absoluteinternal
- true to get an internal URI.public String resolveImage(String uri, int height, int width, boolean download, boolean absolute, boolean internal)
URIResolver
resolveImage
in interface URIResolver
uri
- the link URI.height
- the height of the image.width
- the width of the imagedownload
- true if the pointed resource is to be downloaded.absolute
- true if the url must be absoluteinternal
- true to get an internal URI.public String resolveImageAsBase64(String uri, int height, int width)
URIResolver
resolveImageAsBase64
in interface URIResolver
uri
- the link URI.height
- the height of the image.width
- the width of the imagepublic String resolveBoundedImage(String uri, int maxHeight, int maxWidth, boolean download, boolean absolute, boolean internal)
URIResolver
resolveBoundedImage
in interface URIResolver
uri
- the link URI.maxHeight
- the max heightmaxWidth
- the max widthdownload
- true if the pointed resource is to be downloaded.absolute
- true if the url must be absoluteinternal
- true to get an internal URI.public String resolveBoundedImageAsBase64(String uri, int maxHeight, int maxWidth)
URIResolver
resolveBoundedImageAsBase64
in interface URIResolver
uri
- the link URI.maxHeight
- the max heightmaxWidth
- the max widthpublic String resolveCroppedImage(String uri, int cropHeight, int cropWidth, boolean download, boolean absolute, boolean internal)
URIResolver
resolveCroppedImage
in interface URIResolver
uri
- the link URI.cropHeight
- the crop heightcropWidth
- the crop widthdownload
- true if the pointed resource is to be downloaded.absolute
- true if the url must be absoluteinternal
- true to get an internal URI.public String resolveCroppedImageAsBase64(String uri, int cropHeight, int cropWidth)
URIResolver
resolveCroppedImageAsBase64
in interface URIResolver
uri
- the link URI.cropHeight
- the crop heightcropWidth
- the crop widthpublic ConsistencyChecker.CHECK checkLink(String uri, boolean shortTest)
URIResolver
checkLink
in interface URIResolver
uri
- The uri to testshortTest
- If shortTest is to true, only fast check should be done. If false, complete test (even if long) should be done.public I18nizableText getLabel(String uri)
URIResolver
getLabel
in interface URIResolver
uri
- the uri which label to get.protected String getAbsoluteRemoteUri(Request request, String resolvedUri)
request
- the requestresolvedUri
- the resolved uriprotected String getAbsoluteRemoteUriPrefix()
protected String getUriPrefix(Request request)
request
- The requestprotected RemoteURIResolver.ProxiedUri getProxiedUri(String uri) throws IllegalArgumentException
uri
- The requested uriIllegalArgumentException
- The uri does match the expected pattern