public class ResourceURIResolver extends AbstractLogEnabled implements URIResolver, Serviceable, Contextualizable
URIResolver
for type "explorer". Modifier and Type | Field and Description |
---|---|
protected Context |
_context
The avalon context.
|
protected URIPrefixHandler |
_prefixHandler
The URI prefix handler
|
protected AmetysObjectResolver |
_resolver
The ametys object resolver.
|
Constructor and Description |
---|
ResourceURIResolver() |
Modifier and Type | Method and Description |
---|---|
protected String |
_resolve(String uri,
boolean download,
boolean absolute,
boolean internal,
String prefix,
String suffix)
Creates a full uri
|
ConsistencyChecker.CHECK |
checkLink(String uri,
boolean shortTest)
Tests if the URI is not broken.
|
void |
contextualize(Context context) |
I18nizableText |
getLabel(String uri)
Get an URI label.
|
protected String |
getRealPrefix(Resource resource,
String prefix)
Get the real prefix
|
protected String |
getResourcePath(Resource resource)
Get the resource path
|
String |
getType()
Returns the type of links handled by this
URIResolver . |
protected String |
getUriPrefix(AmetysObject object,
boolean download,
boolean internal,
boolean absolute)
Get the URI prefix
|
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 |
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.
|
protected String |
resolveImageAsBase64(String uri,
int height,
int width,
int maxHeight,
int maxWidth)
Get an image's bytes encoded as base64, optionally resized.
|
void |
service(ServiceManager manager) |
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
protected AmetysObjectResolver _resolver
protected URIPrefixHandler _prefixHandler
public ResourceURIResolver()
public void contextualize(Context context) throws ContextException
contextualize
in interface Contextualizable
ContextException
public void service(ServiceManager manager) throws ServiceException
service
in interface Serviceable
ServiceException
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 widthprotected String getUriPrefix(AmetysObject object, boolean download, boolean internal, boolean absolute)
object
- The objectdownload
- true if the pointed resource is to be downloaded.absolute
- true if the url must be absoluteinternal
- true to get an internal URI.protected String _resolve(String uri, boolean download, boolean absolute, boolean internal, String prefix, String suffix)
uri
- the base uri, ie the resource iddownload
- true to create a forced download uriabsolute
- true to create an absolute uri (if internal is false)internal
- true to create an internal uriprefix
- Prefix on the urisuffix
- Suffix on the uriprotected String getResourcePath(Resource resource)
resource
- the resourceprotected String getRealPrefix(Resource resource, String prefix)
resource
- the resourceprefix
- the initial prefixprotected String resolveImageAsBase64(String uri, int height, int width, int maxHeight, int maxWidth)
uri
- the image URI.height
- the specified height. Ignored if negative.width
- the specified width. Ignored if negative.maxHeight
- the maximum image height. Ignored if height or width is specified.maxWidth
- the maximum image width. Ignored if height or width is specified.public 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.