Class BrowserWindowOpener
- java.lang.Object
-
- com.vaadin.server.AbstractClientConnector
-
- com.vaadin.server.AbstractExtension
-
- com.vaadin.server.BrowserWindowOpener
-
- All Implemented Interfaces:
MethodEventSource,ClientConnector,Extension,Connector,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
Constructors Constructor Description BrowserWindowOpener(Resource resource)Creates a window opener that will open window to the provided resourceBrowserWindowOpener(Class<? extends UI> uiClass)Creates a window opener that will open windows containing the provided UI classBrowserWindowOpener(Class<? extends UI> uiClass, String path)Creates a window opener that will open windows containing the provided UI using the provided pathBrowserWindowOpener(String url)Creates a window opener that will open windows to the provided URL
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattach()Notifies the connector that it is connected to a VaadinSession (and therefore also to a UI).voiddetach()Notifies the connector that it is detached from its VaadinSession.voidextend(AbstractComponent target)StringgetFeatures()Gets the window features.StringgetParameter(String name)Gets the value of a parameter set usingsetParameter(String, String).Set<String>getParameterNames()Gets the names of all parameters set usingsetParameter(String, String).ResourcegetResource()Returns the resource for this instance.protected BrowserWindowOpenerStategetState()Returns the shared state for this connector.protected BrowserWindowOpenerStategetState(boolean markAsDirty)Returns the shared state for this connector.StringgetUriFragment()Gets that URI fragment configured for opened windows.StringgetUrl()Returns the URL for this BrowserWindowOpener instance.StringgetWindowName()Gets the target window name.voidremoveParameter(String name)Removes a parameter that has been set usingsetParameter(String, String).voidsetFeatures(String features)Sets the features for opening the window.voidsetParameter(String name, String value)Sets a parameter that will be added to the query string of the opened URI.voidsetResource(Resource resource)Sets the providedresourcefor this instance.voidsetUriFragment(String uriFragment)Sets a URI fragment that will be added to the URI opened in the window.voidsetUrl(String url)Sets the provided URLurlfor this instance.voidsetWindowName(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, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isConnectorEnabled, 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.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(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(Class<? extends UI> uiClass, 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 clickedpath- the path that the UI should be bound to
-
BrowserWindowOpener
public BrowserWindowOpener(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)
-
setUrl
public void setUrl(String url)
Sets the provided URLurlfor this instance. Theurlwill be opened in a new browser window/tab when the extended component is clicked.- Parameters:
url- URL to open- Since:
- 7.4
-
setResource
public void setResource(Resource resource)
Sets the providedresourcefor this instance. Theresourcewill be opened in a new browser window/tab when the extended component is clicked.- Parameters:
resource- resource to open- Since:
- 7.4
-
getResource
public Resource getResource()
Returns the resource for this instance.- Returns:
- resource to open browser window
- Since:
- 7.4
-
getUrl
public String getUrl()
Returns the URL for this BrowserWindowOpener instance. Returnsnullif this instance is not URL resource based (a non URL based resource has been set for it).- Returns:
- URL to open in the new browser window/tab when the extended component is clicked
- Since:
- 7.4
-
setWindowName
public void setWindowName(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 isnullor"_blank", a new window will always be opened.- Parameters:
windowName- the target name for the window
-
getWindowName
public String getWindowName()
Gets the target window name.- Returns:
- the window target string
- See Also:
setWindowName(String)
-
setFeatures
public void setFeatures(String features)
Sets the features for opening the window. See e.g. {@link 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, ornullto use the default features.
-
getFeatures
public String getFeatures()
Gets the window features.- Returns:
- See Also:
setFeatures(String)
-
getState
protected BrowserWindowOpenerState getState()
Description copied from class:AbstractClientConnectorReturns 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:
getStatein classAbstractClientConnector- Returns:
- The shared state for this connector. Never null.
-
getState
protected BrowserWindowOpenerState getState(boolean markAsDirty)
Description copied from class:AbstractClientConnectorReturns the shared state for this connector.- Overrides:
getStatein classAbstractClientConnector- 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()
-
attach
public void attach()
Description copied from interface:ClientConnectorNotifies 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 theClientConnector.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:
attachin interfaceClientConnector- Overrides:
attachin classAbstractClientConnector
-
detach
public void detach()
Description copied from class:AbstractClientConnectorNotifies 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 callClientConnector.detach()for each of its children.The
AbstractClientConnector.getSession()andAbstractClientConnector.getUI()methods might returnnullafter this method is called.- Specified by:
detachin interfaceClientConnector- Overrides:
detachin classAbstractClientConnector
-
setUriFragment
public void setUriFragment(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 usingPage.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, ornullto preserve the original fragment of the URI.
-
getUriFragment
public String getUriFragment()
Gets that URI fragment configured for opened windows.- Returns:
- the URI fragment string, or
nullif no fragment is configured. - See Also:
setUriFragment(String)
-
setParameter
public void setParameter(String name, 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 usingVaadinRequest.getParameter(String)e.g. using the request instance passed toUI.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, notnullvalue- the value of the parameter to add, notnull- See Also:
removeParameter(String),getParameterNames(),getParameter(String)
-
removeParameter
public void removeParameter(String name)
Removes a parameter that has been set usingsetParameter(String, String). Removing a parameter that has not been set has no effect.- Parameters:
name- the name of the parameter to remove, notnull- See Also:
setParameter(String, String)
-
getParameterNames
public Set<String> getParameterNames()
Gets the names of all parameters set usingsetParameter(String, String).- Returns:
- an unmodifiable set of parameter names
- See Also:
setParameter(String, String),getParameter(String)
-
getParameter
public String getParameter(String name)
Gets the value of a parameter set usingsetParameter(String, String). If there is no parameter with the given name,nullis returned.- Parameters:
name- the name of the parameter to get, notnull- Returns:
- the value of the parameter, or
nullthere is no parameter - See Also:
setParameter(String, String),getParameter(String)
-
-