Package io.wcm.handler.media.spi
Class MediaSource
- java.lang.Object
-
- io.wcm.handler.media.spi.MediaSource
-
- Direct Known Subclasses:
DamMediaSource,InlineMediaSource
@ConsumerType public abstract class MediaSource extends Object
ViaMediaSourceOSGi services applications can define additional media sources supported byMediaHandler.This class has to be extended by a Sling Model class. The adaptables should be
SlingHttpServletRequestandResource.
-
-
Constructor Summary
Constructors Constructor Description MediaSource()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanaccepts(@NotNull MediaRequest mediaRequest)Checks whether a media request can be handled by this media sourceabstract booleanaccepts(@Nullable String mediaRef)Checks whether a media request string can be handled by this media sourceabstract voidenableMediaDrop(@NotNull io.wcm.handler.commons.dom.HtmlElement<?> element, @NotNull MediaRequest mediaRequest)Create a drop area for given HTML element to enable drag and drop of DAM assets from content finder to this element.abstract @NotNull StringgetId()protected @Nullable CropDimensiongetMediaCropDimension(@NotNull MediaRequest mediaRequest)Deprecated.protected @Nullable CropDimensiongetMediaCropDimension(@NotNull MediaRequest mediaRequest, @Nullable MediaHandlerConfig mediaHandlerConfig)Get (optional) crop dimensions from resourceprotected @NotNull StringgetMediaCropProperty(@NotNull MediaRequest mediaRequest)Deprecated.protected @NotNull StringgetMediaCropProperty(@NotNull MediaRequest mediaRequest, @Nullable MediaHandlerConfig mediaHandlerConfig)Get property name containing the cropping parametersprotected @Nullable List<ImageMapArea>getMediaMap(@NotNull MediaRequest mediaRequest, @NotNull MediaHandlerConfig mediaHandlerConfig)Get (optional) image map areas from resourceprotected @NotNull StringgetMediaMapProperty(@NotNull MediaRequest mediaRequest, @NotNull MediaHandlerConfig mediaHandlerConfig)Get property name containing the image map parameterprotected @Nullable StringgetMediaRef(@NotNull MediaRequest mediaRequest)Deprecated.protected @Nullable StringgetMediaRef(@NotNull MediaRequest mediaRequest, @Nullable MediaHandlerConfig mediaHandlerConfig)Get media request path to media libraryprotected @Nullable StringgetMediaRefProperty(@NotNull MediaRequest mediaRequest)Deprecated.protected @NotNull StringgetMediaRefProperty(@NotNull MediaRequest mediaRequest, @Nullable MediaHandlerConfig mediaHandlerConfig)Get property name containing the media request pathprotected @Nullable IntegergetMediaRotation(@NotNull MediaRequest mediaRequest, @NotNull MediaHandlerConfig mediaHandlerConfig)Get (optional) rotation from resourceprotected @NotNull StringgetMediaRotationProperty(@NotNull MediaRequest mediaRequest, @NotNull MediaHandlerConfig mediaHandlerConfig)Get property name containing the rotation parameterabstract @Nullable StringgetPrimaryMediaRefProperty()abstract @NotNull MediaresolveMedia(@NotNull Media media)Resolves a media requestprotected booleanresolveRenditions(Media media, Asset asset, MediaArgs mediaArgs)Resolves single rendition (or multiple renditions if any of theMediaArgs.MediaFormatOption.isMandatory()is set to true and sets the resolved rendition and the URL of the first (best-matching) rendition in the media object.voidsetCustomIPECropRatios(@NotNull io.wcm.handler.commons.dom.HtmlElement<?> element, @NotNull MediaRequest mediaRequest)Sets list of cropping ratios to a list matching the selected media formats.
-
-
-
Method Detail
-
getId
@NotNull public abstract @NotNull String getId()
- Returns:
- Media source ID
-
getPrimaryMediaRefProperty
@Nullable public abstract @Nullable String getPrimaryMediaRefProperty()
- Returns:
- Name of the property in which the primary media request is stored
-
accepts
public boolean accepts(@NotNull @NotNull MediaRequest mediaRequest)Checks whether a media request can be handled by this media source- Parameters:
mediaRequest- Media request- Returns:
- true if this media source can handle the given media request
-
accepts
public abstract boolean accepts(@Nullable @Nullable String mediaRef)Checks whether a media request string can be handled by this media source- Parameters:
mediaRef- Media request string- Returns:
- true if this media source can handle the given media request
-
resolveMedia
@NotNull public abstract @NotNull Media resolveMedia(@NotNull @NotNull Media media)
Resolves a media request- Parameters:
media- Media metadata- Returns:
- Resolved media metadata. Never null.
-
enableMediaDrop
public abstract void enableMediaDrop(@NotNull @NotNull io.wcm.handler.commons.dom.HtmlElement<?> element, @NotNull @NotNull MediaRequest mediaRequest)Create a drop area for given HTML element to enable drag and drop of DAM assets from content finder to this element.- Parameters:
element- Html elementmediaRequest- Media request to detect media args and property names
-
setCustomIPECropRatios
public void setCustomIPECropRatios(@NotNull @NotNull io.wcm.handler.commons.dom.HtmlElement<?> element, @NotNull @NotNull MediaRequest mediaRequest)Sets list of cropping ratios to a list matching the selected media formats.- Parameters:
element- Html elementmediaRequest- Media request to detect media args and property names
-
getMediaRef
@Deprecated @Nullable protected final @Nullable String getMediaRef(@NotNull @NotNull MediaRequest mediaRequest)
Deprecated.Get media request path to media library- Parameters:
mediaRequest- Media request- Returns:
- Path or null if not present
-
getMediaRef
@Nullable protected final @Nullable String getMediaRef(@NotNull @NotNull MediaRequest mediaRequest, @Nullable @Nullable MediaHandlerConfig mediaHandlerConfig)
Get media request path to media library- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config (can be null, but should not be null)- Returns:
- Path or null if not present
-
getMediaRefProperty
@Deprecated @Nullable protected final @Nullable String getMediaRefProperty(@NotNull @NotNull MediaRequest mediaRequest)
Deprecated.Get property name containing the media request path- Parameters:
mediaRequest- Media request- Returns:
- Property name
-
getMediaRefProperty
@NotNull protected final @NotNull String getMediaRefProperty(@NotNull @NotNull MediaRequest mediaRequest, @Nullable @Nullable MediaHandlerConfig mediaHandlerConfig)
Get property name containing the media request path- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config (can be null, but should not be null)- Returns:
- Property name
-
getMediaCropDimension
@Deprecated @Nullable protected final @Nullable CropDimension getMediaCropDimension(@NotNull @NotNull MediaRequest mediaRequest)
Deprecated.Get (optional) crop dimensions from resource- Parameters:
mediaRequest- Media request- Returns:
- Crop dimension or null if not set or invalid
-
getMediaCropDimension
@Nullable protected final @Nullable CropDimension getMediaCropDimension(@NotNull @NotNull MediaRequest mediaRequest, @Nullable @Nullable MediaHandlerConfig mediaHandlerConfig)
Get (optional) crop dimensions from resource- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config (can be null, but should not be null)- Returns:
- Crop dimension or null if not set or invalid
-
getMediaCropProperty
@Deprecated @NotNull protected final @NotNull String getMediaCropProperty(@NotNull @NotNull MediaRequest mediaRequest)
Deprecated.Get property name containing the cropping parameters- Parameters:
mediaRequest- Media request- Returns:
- Property name
-
getMediaCropProperty
@NotNull protected final @NotNull String getMediaCropProperty(@NotNull @NotNull MediaRequest mediaRequest, @Nullable @Nullable MediaHandlerConfig mediaHandlerConfig)
Get property name containing the cropping parameters- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config (can be null, but should not be null)- Returns:
- Property name
-
getMediaRotation
@Nullable protected final @Nullable Integer getMediaRotation(@NotNull @NotNull MediaRequest mediaRequest, @NotNull @NotNull MediaHandlerConfig mediaHandlerConfig)
Get (optional) rotation from resource- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config- Returns:
- Rotation value or null if not set or invalid
-
getMediaRotationProperty
@NotNull protected final @NotNull String getMediaRotationProperty(@NotNull @NotNull MediaRequest mediaRequest, @NotNull @NotNull MediaHandlerConfig mediaHandlerConfig)
Get property name containing the rotation parameter- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config- Returns:
- Property name
-
getMediaMap
@Nullable protected final @Nullable List<ImageMapArea> getMediaMap(@NotNull @NotNull MediaRequest mediaRequest, @NotNull @NotNull MediaHandlerConfig mediaHandlerConfig)
Get (optional) image map areas from resource- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config- Returns:
- Rotation value or null if not set or invalid
-
getMediaMapProperty
@NotNull protected final @NotNull String getMediaMapProperty(@NotNull @NotNull MediaRequest mediaRequest, @NotNull @NotNull MediaHandlerConfig mediaHandlerConfig)
Get property name containing the image map parameter- Parameters:
mediaRequest- Media requestmediaHandlerConfig- Media handler config- Returns:
- Property name
-
resolveRenditions
protected final boolean resolveRenditions(Media media, Asset asset, MediaArgs mediaArgs)
Resolves single rendition (or multiple renditions if any of theMediaArgs.MediaFormatOption.isMandatory()is set to true and sets the resolved rendition and the URL of the first (best-matching) rendition in the media object.- Parameters:
media- Media objectasset- AssetmediaArgs- Media args- Returns:
- true if all requested mandatory renditions could be resolved (at least one or all if none was set to mandatory)
-
-