com.vaadin.server
Class BrowserWindowOpener

java.lang.Object
  extended by com.vaadin.server.AbstractClientConnector
      extended by com.vaadin.server.AbstractExtension
          extended by com.vaadin.server.BrowserWindowOpener
All Implemented Interfaces:
MethodEventSource, ClientConnector, Extension, com.vaadin.shared.Connector, java.io.Serializable

public class BrowserWindowOpener
extends AbstractExtension

Component extension that opens a browser popup window when the extended component is clicked.

Since:
7.0.0
Author:
Vaadin Ltd
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
 
Constructor Summary
BrowserWindowOpener(java.lang.Class<? extends UI> uiClass)
          Creates a window opener that will open windows containing the provided UI class
BrowserWindowOpener(java.lang.Class<? extends UI> uiClass, java.lang.String path)
          Creates a window opener that will open windows containing the provided UI using the provided path
BrowserWindowOpener(Resource resource)
          Creates a window opener that will open window to the provided resource
BrowserWindowOpener(java.lang.String url)
          Creates a window opener that will open windows to the provided URL
 
Method Summary
 void attach()
          Notifies the connector that it is connected to a VaadinSession (and therefore also to a UI).
 void detach()
          Notifies the connector that it is detached from its VaadinSession.
 void extend(AbstractComponent target)
           
 java.lang.String getFeatures()
          Gets the window features.
 java.lang.String getParameter(java.lang.String name)
          Gets the value of a parameter set using setParameter(String, String).
 java.util.Set<java.lang.String> getParameterNames()
          Gets the names of all parameters set using setParameter(String, String).
protected  com.vaadin.shared.ui.BrowserWindowOpenerState getState()
          Returns the shared state for this connector.
 java.lang.String getUriFragment()
          Gets that URI fragment configured for opened windows.
 java.lang.String getWindowName()
          Gets the target window name.
 void removeParameter(java.lang.String name)
          Removes a parameter that has been set using setParameter(String, String).
 void setFeatures(java.lang.String features)
          Sets the features for opening the window.
 void setParameter(java.lang.String name, java.lang.String value)
          Sets a parameter that will be added to the query string of the opened URI.
 void setUriFragment(java.lang.String uriFragment)
          Sets a URI fragment that will be added to the URI opened in the window.
 void setWindowName(java.lang.String windowName)
          Sets the target window name that will be used.
 
Methods inherited from class com.vaadin.server.AbstractExtension
extend, getParent, getSupportedParentType, remove, setParent
 
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, beforeClientResponse, createState, encodeState, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getState, getStateType, getUI, handleConnectorRequest, hasListeners, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, beforeClientResponse, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, getUI, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
 
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
 

Constructor Detail

BrowserWindowOpener

public BrowserWindowOpener(java.lang.Class<? extends UI> uiClass)
Creates a window opener that will open windows containing the provided UI class

Parameters:
uiClass - the UI class that should be opened when the extended component is clicked

BrowserWindowOpener

public BrowserWindowOpener(java.lang.Class<? extends UI> uiClass,
                           java.lang.String path)
Creates a window opener that will open windows containing the provided UI using the provided path

Parameters:
uiClass - the UI class that should be opened when the extended component is clicked
path - the path that the UI should be bound to

BrowserWindowOpener

public BrowserWindowOpener(java.lang.String url)
Creates a window opener that will open windows to the provided URL

Parameters:
url - the URL to open in the window

BrowserWindowOpener

public BrowserWindowOpener(Resource resource)
Creates a window opener that will open window to the provided resource

Parameters:
resource - the resource to open in the window
Method Detail

extend

public void extend(AbstractComponent target)

setWindowName

public void setWindowName(java.lang.String windowName)
Sets the target window name that will be used. If a window has already been opened with the same name, the contents of that window will be replaced instead of opening a new window. If the name is null or "_blank", a new window will always be opened.

Parameters:
windowName - the target name for the window

getWindowName

public java.lang.String getWindowName()
Gets the target window name.

Returns:
the window target string
See Also:
setWindowName(String)

setFeatures

public void setFeatures(java.lang.String features)
Sets the features for opening the window. See e.g. https://developer.mozilla.org/en-US/docs/DOM/window.open#Position_and_size_features for a description of the commonly supported features.

Parameters:
features - a string with window features, or null to use the default features.

getFeatures

public java.lang.String getFeatures()
Gets the window features.

Returns:
See Also:
setFeatures(String)

getState

protected com.vaadin.shared.ui.BrowserWindowOpenerState getState()
Description copied from class: AbstractClientConnector
Returns the shared state for this connector. The shared state object is shared between the server connector and the client connector. Changes are only communicated from the server to the client and not in the other direction.

As a side effect, marks the connector dirty so any changes done to the state will be sent to the client. Use getState(false) to avoid marking the connector as dirty.

Overrides:
getState in class AbstractClientConnector
Returns:
The shared state for this connector. Never null.

attach

public void attach()
Description copied from interface: ClientConnector
Notifies the connector that it is connected to a VaadinSession (and therefore also to a UI).

The caller of this method is #setParent(ClientConnector) if the parent is itself already attached to the session. If not, the parent will call the ClientConnector.attach() for all its children when it is attached to the session. This method is always called before the connector's data is sent to the client-side for the first time.

The attachment logic is implemented in AbstractClientConnector.

Specified by:
attach in interface ClientConnector
Overrides:
attach in class AbstractClientConnector

detach

public void detach()
Description copied from class: AbstractClientConnector
Notifies the connector that it is detached from its VaadinSession.

The caller of this method is #setParent(ClientConnector) if the parent is in the session. When the parent is detached from the session it is its responsibility to call ClientConnector.detach() for each of its children.

The AbstractClientConnector.getSession() and AbstractClientConnector.getUI() methods might return null after this method is called.

Specified by:
detach in interface ClientConnector
Overrides:
detach in class AbstractClientConnector

setUriFragment

public void setUriFragment(java.lang.String uriFragment)
Sets a URI fragment that will be added to the URI opened in the window. If the window is opened to contain a Vaadin UI, the fragment will be available using Page.getUriFragment() on the Page instance of the new UI.

The default value is null.

Parameters:
uriFragment - the URI fragment string that should be included in the opened URI, or null to preserve the original fragment of the URI.

getUriFragment

public java.lang.String getUriFragment()
Gets that URI fragment configured for opened windows.

Returns:
the URI fragment string, or null if no fragment is configured.
See Also:
setUriFragment(String)

setParameter

public void setParameter(java.lang.String name,
                         java.lang.String value)
Sets a parameter that will be added to the query string of the opened URI. If the window is opened to contain a Vaadin UI, the parameter will be available using VaadinRequest.getParameter(String) e.g. using the request instance passed to UI.init(VaadinRequest).

Setting a parameter with the same name as a previously set parameter will replace the previous value.

Parameters:
name - the name of the parameter to add, not null
value - the value of the parameter to add, not null
See Also:
removeParameter(String), getParameterNames(), getParameter(String)

removeParameter

public void removeParameter(java.lang.String name)
Removes a parameter that has been set using setParameter(String, String). Removing a parameter that has not been set has no effect.

Parameters:
name - the name of the parameter to remove, not null
See Also:
setParameter(String, String)

getParameterNames

public java.util.Set<java.lang.String> getParameterNames()
Gets the names of all parameters set using setParameter(String, String).

Returns:
an unmodifiable set of parameter names
See Also:
setParameter(String, String), getParameter(String)

getParameter

public java.lang.String getParameter(java.lang.String name)
Gets the value of a parameter set using setParameter(String, String). If there is no parameter with the given name, null is returned.

Parameters:
name - the name of the parameter to get, not null
Returns:
the value of the parameter, or null there is no parameter
See Also:
setParameter(String, String), getParameter(String)


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