Package org.teamapps.ux.session
Class SessionContext
- java.lang.Object
-
- org.teamapps.ux.session.SessionContext
-
public class SessionContext extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description ExecutionDecoratorStackexecutionDecoratorsDecorators around all executions inside this SessionContext.Event<UiSessionActivityState>onActivityStateChangedEvent<java.lang.Void>onDestroyedEvent<KeyboardEvent>onGlobalKeyEventOccurredEvent<NavigationStateChangeEvent>onNavigationStateChange
-
Constructor Summary
Constructors Constructor Description SessionContext(UiSession uiSession, java.util.concurrent.ExecutorService sessionExecutor, ClientInfo clientInfo, SessionConfiguration sessionConfiguration, javax.servlet.http.HttpSession httpSession, UxServerContext serverContext, org.teamapps.icons.SessionIconProvider iconProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddClientToken(java.lang.String token)voidaddExecutionDecorator(ExecutionDecorator decorator, boolean outer)Adds a decorator that gets invoked whenever a Thread is bound to this SessionContext.voidaddIconBundle(IconBundle iconBundle)voidaddRootComponent(java.lang.String containerElementSelector, Component component)RootPaneladdRootPanel()RootPaneladdRootPanel(java.lang.String containerElementSelector)voidaddRootPanel(java.lang.String containerElementSelector, Component rootPanel)voidclearClientTokens()static WindowcreateDefaultSessionMessageWindow(java.lang.String title, java.lang.String message, java.lang.String refreshButtonCaption, java.lang.String cancelButtonCaption)java.lang.StringcreateFileLink(java.io.File file)java.lang.StringcreateResourceLink(Resource resource)java.lang.StringcreateResourceLink(Resource resource, java.lang.String uniqueIdentifier)static SessionContextcurrent()static SessionContextcurrentOrNull()voiddestroy()voiddownload(java.io.File file, java.lang.String downloadFileName)voiddownload(java.lang.String url, java.lang.String downloadFileName)voiddownload(Resource resource, java.lang.String downloadFileName)voidexitFullScreen()UiSessionListenergetAsUiSessionListenerInternal()ResourcegetBinaryResource(int resourceId)ClientBackPressureInfogetClientBackPressureInfo()ClientInfogetClientInfo()ClientObjectgetClientObject(java.lang.String clientObjectId)SessionConfigurationgetConfiguration()LocationgetCurrentLocation()javax.servlet.http.HttpSessiongetHttpSession()org.teamapps.icons.Icon<?,?>getIcon(java.lang.String key)org.teamapps.icons.SessionIconProvidergetIconProvider()java.util.LocalegetLocale()java.lang.StringgetLocalized(java.lang.String key, java.lang.Object... parameters)java.lang.StringgetName()QualifiedUiSessionIdgetSessionId()TemplategetTemplate(java.lang.String id)java.time.ZoneIdgetTimeZone()TranslationProvidergetTranslationProvider()com.ibm.icu.util.ULocalegetULocale()java.io.FilegetUploadedFileByUuid(java.lang.String uuid)voidgoToUrl(java.lang.String url, boolean blankPage)voidhandleStaticEvent(org.teamapps.dto.UiEvent event)booleanisActive()booleanisDestroyed()voidnavigateBack(int steps)voidnavigateForward(int steps)Event<java.lang.Void>onDestroyed()voidpushNavigationState(java.lang.String relativeUrl)voidqueueCommand(org.teamapps.dto.UiCommand<?> command)<RESULT> voidqueueCommand(org.teamapps.dto.UiCommand<RESULT> command, java.util.function.Consumer<RESULT> resultCallback)voidregisterBackgroundImage(java.lang.String id, java.lang.String image, java.lang.String blurredImage)voidregisterClientObject(ClientObject clientObject)TemplateReferenceregisterTemplate(java.lang.String id, Template template)voidregisterTemplates(java.util.Map<java.lang.String,Template> templates)voidremoveClientToken(java.lang.String token)java.util.concurrent.CompletableFuture<WakeLock>requestWakeLock()java.lang.StringresolveIcon(org.teamapps.icons.Icon icon)java.util.concurrent.CompletableFuture<java.lang.Void>runWithContext(java.lang.Runnable runnable)java.util.concurrent.CompletableFuture<java.lang.Void>runWithContext(java.lang.Runnable runnable, boolean forceEnqueue)<R> java.util.concurrent.CompletableFuture<R>runWithContext(java.util.concurrent.Callable<R> runnable)<R> java.util.concurrent.CompletableFuture<R>runWithContext(java.util.concurrent.Callable<R> callable, boolean forceEnqueue)voidsetBackgroundColor(org.teamapps.common.format.Color color, int animationDuration)voidsetBackgroundImage(java.lang.String id, int animationDuration)voidsetConfiguration(SessionConfiguration config)<I extends org.teamapps.icons.Icon<I,S>,S>
voidsetDefaultStyleForIconClass(java.lang.Class<I> iconClass, S defaultStyle)voidsetGlobalKeyEventsEnabled(boolean unmodified, boolean modifiedWithAltKey, boolean modifiedWithCtrlKey, boolean modifiedWithMetaKey, boolean includeRepeats, boolean keyDown, boolean keyUp)voidsetLocale(java.util.Locale locale)voidsetName(java.lang.String name)voidsetSessionErrorWindow(Window sessionErrorWindow)voidsetSessionExpiredWindow(Window sessionExpiredWindow)voidsetSessionTerminatedWindow(Window sessionTerminatedWindow)voidsetTranslationProvider(TranslationProvider translationProvider)voidsetULocale(com.ibm.icu.util.ULocale locale)voidshowDefaultBackground(int animationDuration)voidshowNotification(org.teamapps.icons.Icon icon, java.lang.String caption)voidshowNotification(org.teamapps.icons.Icon icon, java.lang.String caption, java.lang.String description)voidshowNotification(org.teamapps.icons.Icon icon, java.lang.String caption, java.lang.String description, boolean dismissable, int displayTimeInMillis, boolean showProgress)voidshowNotification(Notification notification, NotificationPosition position)voidshowNotification(Notification notification, NotificationPosition position, EntranceAnimation entranceAnimation, ExitAnimation exitAnimation)voidshowPopup(Popup popup)voidshowPopupAtCurrentMousePosition(Popup popup)voidshowWindow(Window window, int animationDuration)voidunregisterClientObject(ClientObject clientObject)
-
-
-
Field Detail
-
onGlobalKeyEventOccurred
public final Event<KeyboardEvent> onGlobalKeyEventOccurred
-
onNavigationStateChange
public final Event<NavigationStateChangeEvent> onNavigationStateChange
-
onActivityStateChanged
public final Event<UiSessionActivityState> onActivityStateChanged
-
onDestroyed
public final Event<java.lang.Void> onDestroyed
-
executionDecorators
public final ExecutionDecoratorStack executionDecorators
Decorators around all executions inside this SessionContext. These will be invoked when the Thread is already bound to the SessionContext, so SessionContext.current() will return this instance.
-
-
Constructor Detail
-
SessionContext
public SessionContext(UiSession uiSession, java.util.concurrent.ExecutorService sessionExecutor, ClientInfo clientInfo, SessionConfiguration sessionConfiguration, javax.servlet.http.HttpSession httpSession, UxServerContext serverContext, org.teamapps.icons.SessionIconProvider iconProvider)
-
-
Method Detail
-
pushNavigationState
public void pushNavigationState(java.lang.String relativeUrl)
-
navigateBack
public void navigateBack(int steps)
-
navigateForward
public void navigateForward(int steps)
-
current
public static SessionContext current()
-
currentOrNull
public static SessionContext currentOrNull()
-
setTranslationProvider
public void setTranslationProvider(TranslationProvider translationProvider)
-
getTranslationProvider
public TranslationProvider getTranslationProvider()
-
addIconBundle
public void addIconBundle(IconBundle iconBundle)
-
getIcon
public org.teamapps.icons.Icon<?,?> getIcon(java.lang.String key)
-
getULocale
public com.ibm.icu.util.ULocale getULocale()
-
getLocale
public java.util.Locale getLocale()
-
setLocale
public void setLocale(java.util.Locale locale)
-
setULocale
public void setULocale(com.ibm.icu.util.ULocale locale)
-
getLocalized
public java.lang.String getLocalized(java.lang.String key, java.lang.Object... parameters)
-
isActive
public boolean isActive()
-
isDestroyed
public boolean isDestroyed()
-
destroy
public void destroy()
-
onDestroyed
public Event<java.lang.Void> onDestroyed()
-
queueCommand
public <RESULT> void queueCommand(org.teamapps.dto.UiCommand<RESULT> command, java.util.function.Consumer<RESULT> resultCallback)
-
queueCommand
public void queueCommand(org.teamapps.dto.UiCommand<?> command)
-
getClientInfo
public ClientInfo getClientInfo()
-
getHttpSession
public javax.servlet.http.HttpSession getHttpSession()
-
getClientBackPressureInfo
public ClientBackPressureInfo getClientBackPressureInfo()
-
createFileLink
public java.lang.String createFileLink(java.io.File file)
-
createResourceLink
public java.lang.String createResourceLink(Resource resource, java.lang.String uniqueIdentifier)
-
getBinaryResource
public Resource getBinaryResource(int resourceId)
-
getUploadedFileByUuid
public java.io.File getUploadedFileByUuid(java.lang.String uuid)
-
registerTemplate
public TemplateReference registerTemplate(java.lang.String id, Template template)
-
registerTemplates
public void registerTemplates(java.util.Map<java.lang.String,Template> templates)
-
getTemplate
public Template getTemplate(java.lang.String id)
-
runWithContext
public java.util.concurrent.CompletableFuture<java.lang.Void> runWithContext(java.lang.Runnable runnable)
-
runWithContext
public java.util.concurrent.CompletableFuture<java.lang.Void> runWithContext(java.lang.Runnable runnable, boolean forceEnqueue)- Parameters:
runnable-forceEnqueue- No synchronous execution! Enqueue this at the end of this SessionContext's work queue.
-
runWithContext
public <R> java.util.concurrent.CompletableFuture<R> runWithContext(java.util.concurrent.Callable<R> runnable)
-
runWithContext
public <R> java.util.concurrent.CompletableFuture<R> runWithContext(java.util.concurrent.Callable<R> callable, boolean forceEnqueue)
-
addExecutionDecorator
public void addExecutionDecorator(ExecutionDecorator decorator, boolean outer)
Adds a decorator that gets invoked whenever a Thread is bound to this SessionContext. The decorator will be called right after the Thread is bound to this SessionContext, so SessionContext.current() will return this instance.- Parameters:
decorator-outer- Whether to add this decorator as outermost or innermost execution wrapper.
-
getConfiguration
public SessionConfiguration getConfiguration()
-
setConfiguration
public void setConfiguration(SessionConfiguration config)
-
showPopupAtCurrentMousePosition
public void showPopupAtCurrentMousePosition(Popup popup)
-
showPopup
public void showPopup(Popup popup)
-
getTimeZone
public java.time.ZoneId getTimeZone()
-
getIconProvider
public org.teamapps.icons.SessionIconProvider getIconProvider()
-
setDefaultStyleForIconClass
public <I extends org.teamapps.icons.Icon<I,S>,S> void setDefaultStyleForIconClass(java.lang.Class<I> iconClass, S defaultStyle)
-
resolveIcon
public java.lang.String resolveIcon(org.teamapps.icons.Icon icon)
-
registerClientObject
public void registerClientObject(ClientObject clientObject)
-
unregisterClientObject
public void unregisterClientObject(ClientObject clientObject)
-
getClientObject
public ClientObject getClientObject(java.lang.String clientObjectId)
-
createResourceLink
public java.lang.String createResourceLink(Resource resource)
-
showWindow
public void showWindow(Window window, int animationDuration)
-
download
public void download(Resource resource, java.lang.String downloadFileName)
-
download
public void download(java.io.File file, java.lang.String downloadFileName)
-
download
public void download(java.lang.String url, java.lang.String downloadFileName)
-
registerBackgroundImage
public void registerBackgroundImage(java.lang.String id, java.lang.String image, java.lang.String blurredImage)
-
setBackgroundImage
public void setBackgroundImage(java.lang.String id, int animationDuration)
-
showDefaultBackground
public void showDefaultBackground(int animationDuration)
-
setBackgroundColor
public void setBackgroundColor(org.teamapps.common.format.Color color, int animationDuration)
-
exitFullScreen
public void exitFullScreen()
-
addRootComponent
public void addRootComponent(java.lang.String containerElementSelector, Component component)
-
addRootPanel
public void addRootPanel(java.lang.String containerElementSelector, Component rootPanel)
-
addRootPanel
public RootPanel addRootPanel(java.lang.String containerElementSelector)
-
addRootPanel
public RootPanel addRootPanel()
-
addClientToken
public void addClientToken(java.lang.String token)
-
removeClientToken
public void removeClientToken(java.lang.String token)
-
clearClientTokens
public void clearClientTokens()
-
showNotification
public void showNotification(Notification notification, NotificationPosition position, EntranceAnimation entranceAnimation, ExitAnimation exitAnimation)
-
showNotification
public void showNotification(Notification notification, NotificationPosition position)
-
showNotification
public void showNotification(org.teamapps.icons.Icon icon, java.lang.String caption)
-
showNotification
public void showNotification(org.teamapps.icons.Icon icon, java.lang.String caption, java.lang.String description)
-
showNotification
public void showNotification(org.teamapps.icons.Icon icon, java.lang.String caption, java.lang.String description, boolean dismissable, int displayTimeInMillis, boolean showProgress)
-
setSessionExpiredWindow
public void setSessionExpiredWindow(Window sessionExpiredWindow)
-
setSessionErrorWindow
public void setSessionErrorWindow(Window sessionErrorWindow)
-
setSessionTerminatedWindow
public void setSessionTerminatedWindow(Window sessionTerminatedWindow)
-
createDefaultSessionMessageWindow
public static Window createDefaultSessionMessageWindow(java.lang.String title, java.lang.String message, java.lang.String refreshButtonCaption, java.lang.String cancelButtonCaption)
-
requestWakeLock
public java.util.concurrent.CompletableFuture<WakeLock> requestWakeLock()
-
goToUrl
public void goToUrl(java.lang.String url, boolean blankPage)
-
setGlobalKeyEventsEnabled
public void setGlobalKeyEventsEnabled(boolean unmodified, boolean modifiedWithAltKey, boolean modifiedWithCtrlKey, boolean modifiedWithMetaKey, boolean includeRepeats, boolean keyDown, boolean keyUp)
-
getSessionId
public QualifiedUiSessionId getSessionId()
-
handleStaticEvent
public void handleStaticEvent(org.teamapps.dto.UiEvent event)
-
getCurrentLocation
public Location getCurrentLocation()
-
getAsUiSessionListenerInternal
public UiSessionListener getAsUiSessionListenerInternal()
-
setName
public void setName(java.lang.String name)
-
getName
public java.lang.String getName()
-
-