public class LinkMetadataURIResolver extends Object implements URIResolver, Serviceable, Contextualizable, PluginAware
URIResolver
for type "link-metadata".Link
.Modifier and Type | Class and Description |
---|---|
protected class |
LinkMetadataURIResolver.MetaInfo
Metadata information.
|
Modifier and Type | Field and Description |
---|---|
private Context |
_context
The context
|
private static Pattern |
_OBJECT_URI_PATTERN |
private String |
_pluginName |
private URIPrefixHandler |
_prefixHandler |
private RenderingContextHandler |
_renderingContexthandler |
private AmetysObjectResolver |
_resolver |
private SiteManager |
_siteManager |
Constructor and Description |
---|
LinkMetadataURIResolver() |
Modifier and Type | Method and Description |
---|---|
protected LinkMetadataURIResolver.MetaInfo |
_getMetaInfo(String uri,
Request request)
Get metadata name and link.
|
protected String |
_resolveImage(String uri,
String uriArgument,
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. |
ConsistencyChecker.CHECK |
checkLink(String uri,
boolean shortTest)
Tests if the URI is not broken.
|
void |
contextualize(Context context) |
protected BinaryMetadata |
getBinaryMetadata(MetadataAwareAmetysObject link,
String path)
Get the binary metadata
|
I18nizableText |
getLabel(String uri)
Get an URI label.
|
String |
getType()
Returns the type of links handled by this
URIResolver . |
protected String |
getUri(String path,
MetadataAwareAmetysObject object,
boolean download,
boolean absolute,
boolean internal)
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 |
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.
|
protected String |
resolveImageAsBase64(String uri,
int height,
int width,
int maxHeight,
int maxWidth,
int cropHeight,
int cropWidth)
Get an image's bytes encoded as base64, optionally resized.
|
void |
service(ServiceManager manager) |
void |
setPluginInfo(String pluginName,
String featureName,
String id)
Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level. |
private static final Pattern _OBJECT_URI_PATTERN
private AmetysObjectResolver _resolver
private URIPrefixHandler _prefixHandler
private RenderingContextHandler _renderingContexthandler
private SiteManager _siteManager
private String _pluginName
public LinkMetadataURIResolver()
public void setPluginInfo(String pluginName, String featureName, String id)
PluginAware
setPluginInfo
in interface PluginAware
pluginName
- Unique identifier for the plugin hosting the extensionfeatureName
- Unique feature identifier (unique for a given pluginName)id
- Unique identifier of this componentpublic 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 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.protected String _resolveImage(String uri, String uriArgument, boolean download, boolean absolute, boolean internal)
uri
- the link URI.uriArgument
- the argument to append to the uridownload
- 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 widthprotected String resolveImageAsBase64(String uri, int height, int width, int maxHeight, int maxWidth, int cropHeight, int cropWidth)
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.cropHeight
- The cropping height. Ignored if negative.cropWidth
- The cropping width. Ignored if negative.protected String getUri(String path, MetadataAwareAmetysObject object, boolean download, boolean absolute, boolean internal)
path
- the resource pathobject
- 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.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.protected BinaryMetadata getBinaryMetadata(MetadataAwareAmetysObject link, String path)
link
- the linkpath
- the metadata pathprotected LinkMetadataURIResolver.MetaInfo _getMetaInfo(String uri, Request request)
uri
- the metadata URI.request
- the request.