com.vaadin.ui
Class AbstractMedia

java.lang.Object
  extended by com.vaadin.server.AbstractClientConnector
      extended by com.vaadin.ui.AbstractComponent
          extended by com.vaadin.ui.AbstractMedia
All Implemented Interfaces:
MethodEventSource, ClientConnector, Sizeable, com.vaadin.shared.Connector, Component, java.io.Serializable
Direct Known Subclasses:
Audio, Video

public abstract class AbstractMedia
extends AbstractComponent

Abstract base class for the HTML5 media components.

Author:
Vaadin Ltd
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
 
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
 
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
 
Field Summary
 
Fields inherited from class com.vaadin.ui.AbstractComponent
DESIGN_ATTR_PLAIN_TEXT
 
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
 
Constructor Summary
AbstractMedia()
           
 
Method Summary
 void addSource(Resource source)
          Adds an alternative media file to the sources list.
 java.lang.String getAltText()
           
protected  java.util.Collection<java.lang.String> getCustomAttributes()
          Returns a collection of attributes that should not be handled by the basic implementation of the readDesign and writeDesign methods.
 java.util.List<Resource> getSources()
           
protected  com.vaadin.shared.ui.AbstractMediaState getState()
          Returns the shared state bean with information to be sent from the server to the client.
protected  com.vaadin.shared.ui.AbstractMediaState getState(boolean markAsDirty)
          Returns the shared state for this connector.
 boolean handleConnectorRequest(VaadinRequest request, VaadinResponse response, java.lang.String path)
          Handle a request directed to this connector.
 boolean isAutoplay()
           
 boolean isHtmlContentAllowed()
           
 boolean isMuted()
           
 boolean isShowControls()
           
 void pause()
          Pauses the media.
 void play()
          Starts playback of the media.
 void readDesign(org.jsoup.nodes.Element design, DesignContext designContext)
          Reads the component state from the given design.
 void setAltText(java.lang.String altText)
          Sets the alternative text to be displayed if the browser does not support HTML5.
 void setAutoplay(boolean autoplay)
          Sets whether the media is to automatically start playback when enough data has been loaded.
 void setHtmlContentAllowed(boolean htmlContentAllowed)
          Set whether the alternative text (setAltText(String)) is rendered as HTML or not.
 void setMuted(boolean muted)
          Set whether to mute the audio or not.
 void setShowControls(boolean showControls)
          Sets whether or not the browser should show native media controls.
 void setSource(Resource source)
          Sets a single media file as the source of the media component.
 void setSources(Resource... sources)
          Set multiple sources at once.
 void writeDesign(org.jsoup.nodes.Element design, DesignContext designContext)
          Writes the component state to the given design.
 
Methods inherited from class com.vaadin.ui.AbstractComponent
addListener, addShortcutListener, addStyleName, attach, beforeClientResponse, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, focus, getActionManager, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorMessage, getExplicitImmediateValue, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isEnabled, isImmediate, isOrHasAncestor, isReadOnly, isResponsive, isVisible, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setHeight, setHeightUndefined, setIcon, setId, setImmediate, setLocale, setParent, setPrimaryStyleName, setReadOnly, setResponsive, setSizeFull, setSizeUndefined, setStyleName, setStyleName, setVisible, setWidth, setWidth, setWidthUndefined
 
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.ui.Component
getUI
 
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, isAttached, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
 
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
 

Constructor Detail

AbstractMedia

public AbstractMedia()
Method Detail

getState

protected com.vaadin.shared.ui.AbstractMediaState getState()
Description copied from class: AbstractComponent
Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().

Overrides:
getState in class AbstractComponent
Returns:
updated component shared state

getState

protected com.vaadin.shared.ui.AbstractMediaState getState(boolean markAsDirty)
Description copied from class: AbstractClientConnector
Returns the shared state for this connector.

Overrides:
getState in class AbstractComponent
Parameters:
markAsDirty - true if the connector should automatically be marked dirty, false otherwise
Returns:
The shared state for this connector. Never null.
See Also:
AbstractClientConnector.getState()

setSource

public void setSource(Resource source)
Sets a single media file as the source of the media component.

Parameters:
source -

addSource

public void addSource(Resource source)
Adds an alternative media file to the sources list. Which of the sources is used is selected by the browser depending on which file formats it supports. See wikipedia for a table of formats supported by different browsers.

Parameters:
source -

handleConnectorRequest

public boolean handleConnectorRequest(VaadinRequest request,
                                      VaadinResponse response,
                                      java.lang.String path)
                               throws java.io.IOException
Description copied from interface: ClientConnector
Handle a request directed to this connector. This can be used by connectors to dynamically generate a response and it is also used internally when serving ConnectorResources.

Requests to /APP/connector/[ui id]/[connector id]/ are routed to this method with the remaining part of the requested path available in the path parameter.

NOTE that the session is not locked when this method is called. It is the responsibility of the connector to ensure that the session is locked while handling state or other session related data. For best performance the session should be unlocked before writing a large response to the client.

Specified by:
handleConnectorRequest in interface ClientConnector
Overrides:
handleConnectorRequest in class AbstractClientConnector
Parameters:
request - the request that should be handled
response - the response object to which the response should be written
path - the requested relative path
Returns:
true if the request has been handled, false if no response has been written.
Throws:
java.io.IOException - if there is a problem generating a response.

setSources

public void setSources(Resource... sources)
Set multiple sources at once. Which of the sources is used is selected by the browser depending on which file formats it supports. See wikipedia for a table of formats supported by different browsers.

Parameters:
sources -

getSources

public java.util.List<Resource> getSources()
Returns:
The sources pointed to in this media.

setShowControls

public void setShowControls(boolean showControls)
Sets whether or not the browser should show native media controls.

Parameters:
showControls -

isShowControls

public boolean isShowControls()
Returns:
true if the browser is to show native media controls.

setAltText

public void setAltText(java.lang.String altText)
Sets the alternative text to be displayed if the browser does not support HTML5. This text is rendered as HTML if setHtmlContentAllowed(boolean) is set to true. With HTML rendering, this method can also be used to implement fallback to a flash-based player, see the Mozilla Developer Network for details.

Parameters:
altText -

getAltText

public java.lang.String getAltText()
Returns:
The text/html that is displayed when a browser doesn't support HTML5.

setHtmlContentAllowed

public void setHtmlContentAllowed(boolean htmlContentAllowed)
Set whether the alternative text (setAltText(String)) is rendered as HTML or not.

Parameters:
htmlContentAllowed -

isHtmlContentAllowed

public boolean isHtmlContentAllowed()
Returns:
true if the alternative text (setAltText(String)) is to be rendered as HTML.

setAutoplay

public void setAutoplay(boolean autoplay)
Sets whether the media is to automatically start playback when enough data has been loaded.

Parameters:
autoplay -

isAutoplay

public boolean isAutoplay()
Returns:
true if the media is set to automatically start playback.

setMuted

public void setMuted(boolean muted)
Set whether to mute the audio or not.

Parameters:
muted -

isMuted

public boolean isMuted()
Returns:
true if the audio is muted.

pause

public void pause()
Pauses the media.


play

public void play()
Starts playback of the media.


writeDesign

public void writeDesign(org.jsoup.nodes.Element design,
                        DesignContext designContext)
Description copied from interface: Component
Writes the component state to the given design.

The component is responsible not only for writing its own state but also for ensuring that its children write their state to the design.

This method must not modify the component state.

Specified by:
writeDesign in interface Component
Overrides:
writeDesign in class AbstractComponent
Parameters:
design - The element to write the component state to. Any previous attributes or child nodes are not cleared.
designContext - The DesignContext instance used for writing the design

readDesign

public void readDesign(org.jsoup.nodes.Element design,
                       DesignContext designContext)
Description copied from interface: Component
Reads the component state from the given design.

The component is responsible not only for updating its own state but also for ensuring that its children update their state based on the design.

It is assumed that the component is in its default state when this method is called. Reading should only take into consideration attributes specified in the design and not reset any unspecified attributes to their defaults.

This method must not modify the design.

Specified by:
readDesign in interface Component
Overrides:
readDesign in class AbstractComponent
Parameters:
design - The element to obtain the state from
designContext - The DesignContext instance used for parsing the design

getCustomAttributes

protected java.util.Collection<java.lang.String> getCustomAttributes()
Description copied from class: AbstractComponent
Returns a collection of attributes that should not be handled by the basic implementation of the readDesign and writeDesign methods. Typically these are handled in a custom way in the overridden versions of the above methods

Overrides:
getCustomAttributes in class AbstractComponent
Returns:
the collection of attributes that are not handled by the basic implementation


Copyright © 2000-2014 Vaadin Ltd. All Rights Reserved.