Package org.ametys.cms.transformation
Class AbstractURIResolver
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.cms.transformation.AbstractURIResolver
-
- All Implemented Interfaces:
URIResolver
,LogEnabled
- Direct Known Subclasses:
AttachmentURIResolver
,AttributeURIResolver
,LinkMetadataURIResolver
,ResourceURIResolver
,SiteParameterUriResolver
public abstract class AbstractURIResolver extends AbstractLogEnabled implements URIResolver
Abstract superclass for simpleURIResolver
.
-
-
Constructor Summary
Constructors Constructor Description AbstractURIResolver()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract String
_resolve(String uri, String uriArgument, boolean download, boolean absolute, boolean internal)
Resolves a link URI for rendering.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.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 abstract 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.-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.cms.transformation.URIResolver
checkLink, getLabel, getType
-
-
-
-
Constructor Detail
-
AbstractURIResolver
public AbstractURIResolver()
-
-
Method Detail
-
resolve
public String resolve(String uri, boolean download, boolean absolute, boolean internal)
Description copied from interface:URIResolver
Resolves a link URI for rendering purposes.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.- Specified by:
resolve
in interfaceURIResolver
- Parameters:
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.- Returns:
- the path to the resource.
-
resolveImage
public String resolveImage(String uri, int height, int width, boolean download, boolean absolute, boolean internal)
Description copied from interface:URIResolver
Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.- Specified by:
resolveImage
in interfaceURIResolver
- Parameters:
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.- Returns:
- the path to the image.
-
resolveBoundedImage
public String resolveBoundedImage(String uri, int maxHeight, int maxWidth, boolean download, boolean absolute, boolean internal)
Description copied from interface:URIResolver
Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.- Specified by:
resolveBoundedImage
in interfaceURIResolver
- Parameters:
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.- Returns:
- the path to the image.
-
resolveCroppedImage
public String resolveCroppedImage(String uri, int cropHeight, int cropWidth, boolean download, boolean absolute, boolean internal)
Description copied from interface:URIResolver
Resolves a link URI for rendering image.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.- Specified by:
resolveCroppedImage
in interfaceURIResolver
- Parameters:
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.- Returns:
- the path to the image.
-
resolveImageAsBase64
public String resolveImageAsBase64(String uri, int height, int width)
Description copied from interface:URIResolver
Resolve an image and return it as a base64-encoded string.- Specified by:
resolveImageAsBase64
in interfaceURIResolver
- Parameters:
uri
- the link URI.height
- the height of the image.width
- the width of the image- Returns:
- a base64-encoded string representing the image.
-
resolveBoundedImageAsBase64
public String resolveBoundedImageAsBase64(String uri, int maxHeight, int maxWidth)
Description copied from interface:URIResolver
Resolve an image and return it as a base64-encoded string.- Specified by:
resolveBoundedImageAsBase64
in interfaceURIResolver
- Parameters:
uri
- the link URI.maxHeight
- the max heightmaxWidth
- the max width- Returns:
- a base64-encoded string representing the image.
-
resolveCroppedImageAsBase64
public String resolveCroppedImageAsBase64(String uri, int cropHeight, int cropWidth)
Description copied from interface:URIResolver
Resolve an image and return it as a base64-encoded string.- Specified by:
resolveCroppedImageAsBase64
in interfaceURIResolver
- Parameters:
uri
- the link URI.cropHeight
- the crop heightcropWidth
- the crop width- Returns:
- a base64-encoded string representing the image.
-
_resolve
protected abstract String _resolve(String uri, String uriArgument, boolean download, boolean absolute, boolean internal)
Resolves a link URI for rendering.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.- Parameters:
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.- Returns:
- the path to the image.
-
resolveImageAsBase64
protected abstract 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.- Parameters:
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.- Returns:
- the image bytes encoded as base64.
-
-