Module is.codion.swing.framework.ui
Package is.codion.swing.framework.ui
Interface EntityApplicationPanel.Builder<M extends SwingEntityApplicationModel,P extends EntityApplicationPanel<M>>
- Type Parameters:
M
- the application model typeP
- the application panel type
- Enclosing class:
EntityApplicationPanel<M extends SwingEntityApplicationModel>
public static interface EntityApplicationPanel.Builder<M extends SwingEntityApplicationModel,P extends EntityApplicationPanel<M>>
Builds a
EntityApplicationPanel
and starts the application.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionapplicationIcon
(ImageIcon applicationIcon) applicationModelFactory
(Function<EntityConnectionProvider, M> applicationModelFactory) applicationName
(String applicationName) applicationPanelFactory
(Function<M, P> applicationPanelFactory) applicationVersion
(Version applicationVersion) beforeApplicationStarted
(Runnable beforeApplicationStarted) Runs before the application is started, but after Look and Feel initialization.connectionProvider
(EntityConnectionProvider connectionProvider) OverridesconnectionProvider(Function)
connectionProvider
(Function<User, EntityConnectionProvider> connectionProvider) defaultFrameSize
(Dimension defaultFrameSize) defaultLookAndFeel
(Class<? extends LookAndFeel> defaultLookAndFeelClass) Sets the default look and feel class, used in case no look and feel settings are found in user preferences.defaultLookAndFeel
(String defaultLookAndFeelClassName) Sets the default look and feel classname, used in case no look and feel settings are found in user preferences.defaultUser
(User defaultUser) displayFrame
(boolean displayFrame) displayStartupDialog
(boolean displayStartupDialog) domainType
(DomainType domainType) frameSupplier
(Supplier<JFrame> frameSupplier) frameTitle
(Observable<String> frameTitle) For a dynamic frame title.frameTitle
(String frameTitle) includeMainMenu
(boolean includeMainMenu) loginPanelSouthComponent
(Supplier<JComponent> loginPanelSouthComponentSupplier) Note that this does not apply when a customuser(Supplier)
has been specified.lookAndFeel
(Class<? extends LookAndFeel> lookAndFeelClass) Sets the look and feel class, overrides any look and feel settings found in user preferences.lookAndFeel
(String lookAndFeelClassName) Sets the look and feel classname, overrides any look and feel settings found in user preferences.maximizeFrame
(boolean maximizeFrame) onApplicationStarted
(Consumer<P> onApplicationStarted) saveDefaultUsername
(boolean saveDefaultUsername) setUncaughtExceptionHandler
(boolean setUncaughtExceptionHandler) Specifies whether or not to set the default uncaught exception handler when starting the application, true by default.void
start()
Starts the application on the Event Dispatch Thread.void
start
(boolean onEventDispatchThread) Starts the application.TheUser
to use to connect to the database, this user is propagated toconnectionProvider(Function)
.Supplies theUser
to use to connect to the database, this user is then propagated toconnectionProvider(Function)
.
-
Method Details
-
domainType
- Parameters:
domainType
- the domain type- Returns:
- this Builder instance
-
applicationName
- Parameters:
applicationName
- the application name- Returns:
- this Builder instance
-
applicationIcon
- Parameters:
applicationIcon
- the application icon- Returns:
- this Builder instance
-
applicationVersion
- Parameters:
applicationVersion
- the application version- Returns:
- this Builder instance
-
defaultLookAndFeel
EntityApplicationPanel.Builder<M,P> defaultLookAndFeel(Class<? extends LookAndFeel> defaultLookAndFeelClass) Sets the default look and feel class, used in case no look and feel settings are found in user preferences.- Parameters:
defaultLookAndFeelClass
- the default look and feel class- Returns:
- this Builder instance
- See Also:
-
defaultLookAndFeel
Sets the default look and feel classname, used in case no look and feel settings are found in user preferences.- Parameters:
defaultLookAndFeelClassName
- the default look and feel classname- Returns:
- this Builder instance
- See Also:
-
lookAndFeel
Sets the look and feel class, overrides any look and feel settings found in user preferences.- Parameters:
lookAndFeelClass
- the look and feel class- Returns:
- this Builder instance
- See Also:
-
lookAndFeel
Sets the look and feel classname, overrides any look and feel settings found in user preferences.- Parameters:
lookAndFeelClassName
- the look and feel classname- Returns:
- this Builder instance
- See Also:
-
connectionProvider
OverridesconnectionProvider(Function)
- Parameters:
connectionProvider
- the connection provider- Returns:
- this Builder instance
-
connectionProvider
EntityApplicationPanel.Builder<M,P> connectionProvider(Function<User, EntityConnectionProvider> connectionProvider) - Parameters:
connectionProvider
- initializes the connection provider, receives the user provided byuser(Supplier)
- Returns:
- this Builder instance
-
applicationModelFactory
EntityApplicationPanel.Builder<M,P> applicationModelFactory(Function<EntityConnectionProvider, M> applicationModelFactory) - Parameters:
applicationModelFactory
- the application model factory- Returns:
- this Builder instance
-
applicationPanelFactory
- Parameters:
applicationPanelFactory
- the application panel factory- Returns:
- this Builder instance
-
user
The
User
to use to connect to the database, this user is propagated toconnectionProvider(Function)
.If this user is null,
user(Supplier)
is used to fetch a user.- Parameters:
user
- the application user- Returns:
- this Builder instance
-
user
Supplies the
User
to use to connect to the database, this user is then propagated toconnectionProvider(Function)
.This may be via a login dialog or simply by returning a hardcoded instance.
Startup is silently cancelled in case the
Supplier.get()
throws aCancelException
.- Parameters:
userSupplier
- supplies the application user, for example via a login dialog- Returns:
- this Builder instance
-
defaultUser
- Parameters:
defaultUser
- the default user credentials to display in a login dialog- Returns:
- this Builder instance
-
saveDefaultUsername
- Parameters:
saveDefaultUsername
- true if the username should be saved in user preferences after a successful login- Returns:
- this Builder instance
-
loginPanelSouthComponent
EntityApplicationPanel.Builder<M,P> loginPanelSouthComponent(Supplier<JComponent> loginPanelSouthComponentSupplier) Note that this does not apply when a customuser(Supplier)
has been specified.- Parameters:
loginPanelSouthComponentSupplier
- supplies the component to add to theBorderLayout.SOUTH
position of the default login panel- Returns:
- this Builder instance
-
beforeApplicationStarted
Runs before the application is started, but after Look and Feel initialization. ThrowCancelException
in order to cancel the application startup.- Parameters:
beforeApplicationStarted
- run before the application is started- Returns:
- this Builder instance
-
onApplicationStarted
- Parameters:
onApplicationStarted
- called after a successful application start- Returns:
- this Builder instance
-
frameSupplier
- Parameters:
frameSupplier
- the frame supplier- Returns:
- this Builder instance
-
frameTitle
- Parameters:
frameTitle
- the frame title- Returns:
- this Builder instance
-
frameTitle
For a dynamic frame title.- Parameters:
frameTitle
- the observable controlling the frame title- Returns:
- this Builder instance
-
includeMainMenu
- Parameters:
includeMainMenu
- if true then a main menu is included- Returns:
- this Builder instance
-
maximizeFrame
- Parameters:
maximizeFrame
- specifies whether the frame should be maximized or use it's preferred size- Returns:
- this Builder instance
-
displayFrame
- Parameters:
displayFrame
- specifies whether the frame should be displayed or left invisible- Returns:
- this Builder instance
-
setUncaughtExceptionHandler
EntityApplicationPanel.Builder<M,P> setUncaughtExceptionHandler(boolean setUncaughtExceptionHandler) Specifies whether or not to set the default uncaught exception handler when starting the application, true by default.- Parameters:
setUncaughtExceptionHandler
- if true the default uncaught exception handler is set on application start- Returns:
- this Builder instance
- See Also:
-
displayStartupDialog
- Parameters:
displayStartupDialog
- if true then a progress dialog is displayed while the application is being initialized- Returns:
- this Builder instance
-
frameSize
- Parameters:
frameSize
- the frame size when not maximized- Returns:
- this Builder instance
-
defaultFrameSize
- Parameters:
defaultFrameSize
- the default frame size when no previous size is available in user preferences- Returns:
- this Builder instance
-
start
void start()Starts the application on the Event Dispatch Thread. -
start
void start(boolean onEventDispatchThread) Starts the application.- Parameters:
onEventDispatchThread
- if true then startup is performed on the EDT
-