Package org.ametys.cms.transformation
Class AttributeURIResolver
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.cms.transformation.AbstractURIResolver
-
- org.ametys.cms.transformation.AttributeURIResolver
-
- All Implemented Interfaces:
URIResolver
,Contextualizable
,LogEnabled
,Serviceable
- Direct Known Subclasses:
AttributeURIResolver
,AttributeURIResolver
public class AttributeURIResolver extends AbstractURIResolver implements Serviceable, Contextualizable
URIResolver
for type "attribute".
These links or images point to a file from the attribute of the current Content.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AttributeURIResolver.AttributeInfo
Attribute information.
-
Field Summary
Fields Modifier and Type Field Description protected Context
_context
The contextprotected AmetysObjectResolver
_resolver
The ametys object resolver
-
Constructor Summary
Constructors Constructor Description AttributeURIResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AttributeURIResolver.AttributeInfo
_getAttributeInfo(String uri, Request request)
Get attribute path and content.protected 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.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.String
getType()
Returns the type of links handled by thisURIResolver
.protected String
getUri(String path, Content object, boolean download, boolean absolute, boolean internal)
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 Detail
-
_resolver
protected AmetysObjectResolver _resolver
The ametys object resolver
-
-
Constructor Detail
-
AttributeURIResolver
public AttributeURIResolver()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
getType
public String 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
.
-
_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.
-
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.
-
getUri
protected String getUri(String path, Content object, boolean download, boolean absolute, boolean internal)
Get the URI prefix- Parameters:
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.- Returns:
- the URI prefix
-
checkLink
public ConsistencyChecker.CHECK checkLink(String uri, boolean shortTest)
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
public I18nizableText getLabel(String uri)
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.
-
_getAttributeInfo
protected AttributeURIResolver.AttributeInfo _getAttributeInfo(String uri, Request request)
Get attribute path and content.- Parameters:
uri
- the attribute URI.request
- the request.- Returns:
- the attribute info.
-
-