Interface MediaHandler


  • @ProviderType
    public interface MediaHandler
    Manages media resolving and markup generation.

    The interface is implemented by a Sling Model. You can adapt from SlingHttpServletRequest or Resource to get a context-specific handler instance.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      @NotNull MediaBuilder get​(@NotNull MediaRequest mediaRequest)
      Build media for the given request holding all further request properties.
      @NotNull MediaBuilder get​(@Nullable java.lang.String mediaRef)
      Build media which is referenced via its string address.
      @NotNull MediaBuilder get​(@Nullable java.lang.String mediaRef, @NotNull MediaArgs mediaArgs)
      Build media which is referenced via its string address.
      @NotNull MediaBuilder get​(@Nullable java.lang.String mediaRef, @Nullable org.apache.sling.api.resource.Resource contextResource)
      Build media which is referenced via its string address.
      @NotNull MediaBuilder get​(@Nullable java.lang.String mediaRef, MediaFormat @NotNull ... mediaFormats)
      Build media which is referenced via its string address.
      @NotNull MediaBuilder get​(@Nullable org.apache.sling.api.resource.Resource resource)
      Build media which is referenced in the resource (as property or inline binary data).
      @NotNull MediaBuilder get​(@Nullable org.apache.sling.api.resource.Resource resource, @NotNull MediaArgs mediaArgs)
      Build media which is referenced in the resource (as property or inline binary data).
      @NotNull MediaBuilder get​(@Nullable org.apache.sling.api.resource.Resource resource, MediaFormat @NotNull ... mediaFormats)
      Build media which is referenced in the resource (as property or inline binary data).
      Media invalid()
      Returns an empty media that is marked as invalid.
      boolean isValidElement​(@Nullable io.wcm.handler.commons.dom.HtmlElement element)
      Checks if the given HTML element is valid.
    • Method Detail

      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable org.apache.sling.api.resource.Resource resource)
        Build media which is referenced in the resource (as property or inline binary data).
        Parameters:
        resource - Resource containing reference to media asset and optionally further properties like alt. text, cropping information etc. Alternatively it can contain an inline binary asset uploaded directly to the resource.
        Returns:
        Media builder
      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable org.apache.sling.api.resource.Resource resource,
                                  @NotNull
                                  @NotNull MediaArgs mediaArgs)
        Build media which is referenced in the resource (as property or inline binary data).
        Parameters:
        resource - Resource containing reference to media asset and optionally further properties like alt. text, cropping information etc. Alternatively it can contain an inline binary asset uploaded directly to the resource.
        mediaArgs - Additional arguments affecting media resolving
        Returns:
        Media builder
      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable org.apache.sling.api.resource.Resource resource,
                                  MediaFormat @NotNull ... mediaFormats)
        Build media which is referenced in the resource (as property or inline binary data).
        Parameters:
        resource - Resource containing reference to media asset and optionally further properties like alt. text, cropping information etc. Alternatively it can contain an inline binary asset uploaded directly to the resource.
        mediaFormats - Media format(s)
        Returns:
        Media builder
      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable java.lang.String mediaRef)
        Build media which is referenced via its string address. Same as get(mediaRef,null)
        Parameters:
        mediaRef - Reference to media item (in most cases a repository path to the DAM asset).
        Returns:
        Media builder
        See Also:
        get(String, Resource)
      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable java.lang.String mediaRef,
                                  @Nullable
                                  @Nullable org.apache.sling.api.resource.Resource contextResource)
        Build media which is referenced via its string address.
        Parameters:
        mediaRef - Reference to media item (in most cases a repository path to the DAM asset).
        contextResource - optionally used to resolve component/policy level properties affecting media resolving from the component associated with the given resource
        Returns:
        Media builder
      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable java.lang.String mediaRef,
                                  @NotNull
                                  @NotNull MediaArgs mediaArgs)
        Build media which is referenced via its string address.
        Parameters:
        mediaRef - Reference to media item (in most cases a repository path to the DAM asset).
        mediaArgs - Additional arguments affecting media resolving
        Returns:
        Media builder
      • get

        @NotNull
        @NotNull MediaBuilder get​(@Nullable
                                  @Nullable java.lang.String mediaRef,
                                  MediaFormat @NotNull ... mediaFormats)
        Build media which is referenced via its string address.
        Parameters:
        mediaRef - Reference to media item (in most cases a repository path to the DAM asset).
        mediaFormats - Media format(s)
        Returns:
        Media builder
      • get

        @NotNull
        @NotNull MediaBuilder get​(@NotNull
                                  @NotNull MediaRequest mediaRequest)
        Build media for the given request holding all further request properties.
        Parameters:
        mediaRequest - Media handling request
        Returns:
        Media builder
      • isValidElement

        boolean isValidElement​(@Nullable
                               @Nullable io.wcm.handler.commons.dom.HtmlElement element)
        Checks if the given HTML element is valid. It is treated as invalid if it is null, or if it e.g. contains only a dummy image (depending on markup builder).
        Parameters:
        element - Media markup element.
        Returns:
        true if media element is invalid
      • invalid

        Media invalid()
        Returns an empty media that is marked as invalid.
        Returns:
        Invalid media