Package org.zkoss.zk.ui.ext.render

## Interface DynamicMedia

- All Known Implementing Classes:
    `Audio.ExtraCtrl`, `Cropper.ExtraCtrl`, `Iframe.ExtraCtrl`, `Image.ExtraCtrl`, `Jasperreport.ExtraCtrl`, `LabelImageElement.ExtraCtrl`, `Lineitem.ExtraCtrl`, `Pdfviewer.ExtraCtrl`, `Video.ExtraCtrl`

      public interface DynamicMedia

  Implemented by the object returned by `ComponentCtrl.getExtraCtrl()`, if a component might have viewable parts other than HTML (WML, XAML or any client language). A typical example is an image and an audio.

  ### How it works:

  1. DynamicMedia component first invoke `Desktop.getDynamicMediaURI(org.zkoss.zk.ui.Component, java.lang.String)` to retrieve a URI and generate proper HTML (or any client language).
  3. Then, client will send a request to the URI
  4. `DHtmlUpdateServlet` interprets it and call `getMedia(java.lang.String)` to retrieve the media and return it the client
  Author:
    tomyeh

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Media` | `getMedia​(java.lang.String pathInfo)` | Retrieve the view in `Media` format.

- - ### Method Detail

    - #### getMedia

          Media getMedia​(java.lang.String pathInfo)

      Retrieve the view in `Media` format.

      Unlike other methods, you cannot post event, create, remove, invalidate or do any smart updates in this method. In other words, READ ONLY.

      Parameters:
        `pathInfo` - the extra info passed to `DHtmlUpdateServlet`. It is what you passed to `Desktop.getDynamicMediaURI(org.zkoss.zk.ui.Component, java.lang.String)`. It is never null. It must start with "/" or be empty.