Package org.ametys.cms.transformation
Class ResourceURIResolver
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.ametys.cms.transformation.AbstractURIResolver
org.ametys.cms.transformation.ResourceURIResolver
- All Implemented Interfaces:
URIResolver
,Contextualizable
,LogEnabled
,Serviceable
- Direct Known Subclasses:
ResourceURIResolver
public class ResourceURIResolver
extends AbstractURIResolver
implements Serviceable, Contextualizable
URIResolver
for type "explorer". These links point to a file from the resources explorer.
-
Field Summary
Modifier and TypeFieldDescriptionprotected Context
The avalon context.protected URIPrefixHandler
The URI prefix handlerprotected AmetysObjectResolver
The ametys object resolver. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
Resolves a link URI for rendering.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.Tests if the URI is not broken.void
contextualize
(Context context) Get an URI label.getMimeType
(String uri) Get the mime type for the targeted URI.protected String
getRealPrefix
(Resource resource, String prefix) Get the real prefixprotected String
getResourcePath
(Resource resource) Get the resource pathgetType()
Returns the type of links handled by thisURIResolver
.protected String
getUriPrefix
(AmetysObject object, boolean download, boolean internal, boolean absolute) Get the URI prefixprotected 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) Methods inherited from class org.ametys.cms.transformation.AbstractURIResolver
resolve, resolveBoundedImage, resolveBoundedImageAsBase64, resolveCroppedImage, resolveCroppedImageAsBase64, resolveImage, resolveImageAsBase64
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
_resolver
The ametys object resolver. -
_context
The avalon context. -
_prefixHandler
The URI prefix handler
-
-
Constructor Details
-
ResourceURIResolver
public ResourceURIResolver()
-
-
Method Details
-
contextualize
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
getType
Description copied from interface:URIResolver
Returns the type of links handled by thisURIResolver
.- Specified by:
getType
in interfaceURIResolver
- Returns:
- the type of links handled by this
URIResolver
.
-
getUriPrefix
protected String getUriPrefix(AmetysObject object, boolean download, boolean internal, boolean absolute) Get the URI prefix- Parameters:
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.- Returns:
- the URI prefix
-
_resolve
protected String _resolve(String uri, String uriArgument, boolean download, boolean absolute, boolean internal) Description copied from class:AbstractURIResolver
Resolves a link URI for rendering.
The output must be a properly encoded path, relative to the webapp context, accessible from a browser.- Specified by:
_resolve
in classAbstractURIResolver
- 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.
-
getResourcePath
Get the resource path- Parameters:
resource
- the resource- Returns:
- the path
-
getRealPrefix
Get the real prefix- Parameters:
resource
- the resourceprefix
- the initial prefix- Returns:
- the real prefix
-
resolveImageAsBase64
protected String resolveImageAsBase64(String uri, int height, int width, int maxHeight, int maxWidth, int cropHeight, int cropWidth) Description copied from class:AbstractURIResolver
Get an image's bytes encoded as base64, optionally resized.- Specified by:
resolveImageAsBase64
in classAbstractURIResolver
- 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.
-
getMimeType
Description copied from interface:URIResolver
Get the mime type for the targeted URI.- Specified by:
getMimeType
in interfaceURIResolver
- Parameters:
uri
- the link URI.- Returns:
- the mime type, can be empty or null.
-
checkLink
Description copied from interface:URIResolver
Tests if the URI is not broken.- Specified by:
checkLink
in interfaceURIResolver
- Parameters:
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.- Returns:
- SUCCESS if the test was done and ok, FAILURE if the test was done and ko, UNKNOWN if the test was not done (because too long). UNKNOWN can not be returned when shortTest is set to false
-
getLabel
Description copied from interface:URIResolver
Get an URI label.- Specified by:
getLabel
in interfaceURIResolver
- Parameters:
uri
- the uri which label to get.- Returns:
- the label.
-