Package com.illumon.iris.console.utils
Class LoginMethodPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.illumon.iris.console.utils.LoginMethodPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
WAuthenticationUserPassLoginMethodPanel
A basis for client-side login panels on the IrisSplashScreen.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
protected boolean
protected String
protected final Font
protected boolean
protected final boolean
protected final com.fishlib.io.logger.Logger
protected final JButton
protected AsyncWaitForAuthServerOperation
protected final Color
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionLoginMethodPanel
(boolean addHeader, boolean isOpaque, Color textColor, Font font, com.fishlib.io.logger.Logger log, JButton okButton, AsyncWaitForAuthServerOperation asyncWait) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicate whether this panel type is allowed to autologin.void
dialogExit
(com.illumon.iris.console.utils.LoginMethodPanel.ExitType exitType) Exit the login panel, either with a login attempt or a cancellation.After logging in, the actual user who logged in.The default button for this panel.After logging in, the user that the current user is acting asstatic String
Get the name to appear for this class in the login method selection dropdown.protected abstract AbstractAction
Get the action to be performed when the user tries the OK button.boolean
Indicate whether authentication was successful.boolean
Indicate whether the login attempt was cancelled.static boolean
Indicate whether this login panel type is valid in the current environment.void
setExitMethod
(DialogExitOperation exiter) Since we can't implement overrides dynamically via reflection (unless we want to do some compile-on-the-fly fun), we can take in a method reference as to what should happen when the dialogExit invocation happens, instead.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
okButton
-
cancelled
protected volatile boolean cancelled -
isAuthenticated
protected volatile boolean isAuthenticated -
effectiveUserName
-
authorizedUserName
-
serverWait
-
isOpaque
protected final boolean isOpaque -
font
-
textColor
-
log
protected final com.fishlib.io.logger.Logger log
-
-
Constructor Details
-
LoginMethodPanel
public LoginMethodPanel(boolean addHeader, boolean isOpaque, Color textColor, Font font, com.fishlib.io.logger.Logger log, JButton okButton, AsyncWaitForAuthServerOperation asyncWait)
-
-
Method Details
-
dialogExit
public void dialogExit(com.illumon.iris.console.utils.LoginMethodPanel.ExitType exitType) Exit the login panel, either with a login attempt or a cancellation.- Parameters:
exitType
- Which type of close operation is being performed.
-
getAuthorizedUserName
After logging in, the actual user who logged in.- Returns:
- The username that has been authorized to use the system.
-
getEffectiveUserName
After logging in, the user that the current user is acting as- Returns:
- The username that the authorized user is operating as.
-
getDefaultButton
The default button for this panel. Implementing classes should set the defaultButton variable appropriately.- Returns:
- Whichever button is appropriate as the default action for a given panel.
-
isAuthenticated
public boolean isAuthenticated()Indicate whether authentication was successful.- Returns:
- true if the authentication passed completely, false otherwise.
-
isCancelled
public boolean isCancelled()Indicate whether the login attempt was cancelled.- Returns:
- true if the current login panel's operation has been cancelled, false otherwise.
-
isValidLoginPanelType
public static boolean isValidLoginPanelType()Indicate whether this login panel type is valid in the current environment. For example, if a Windows-specific login panel is being used, it would say it's not a valid type when run on a Mac. Hide this method for any class that might NOT be valid under some circumstances.- Returns:
- Whether this panel type may be used in the current environment.
-
setExitMethod
Since we can't implement overrides dynamically via reflection (unless we want to do some compile-on-the-fly fun), we can take in a method reference as to what should happen when the dialogExit invocation happens, instead.- Parameters:
exiter
- An interface containing the 'dialogExit' method to execute when the dialog exits.
-
getFriendlyName
Get the name to appear for this class in the login method selection dropdown. Since we want to show the name in the dropdown before actually instantiating the class, this must be static. Note that implementing classes must hide the base class, not override, because it's static.- Returns:
- The text that should appear in the dropdown for selecting login method.
-
getOKAction
Get the action to be performed when the user tries the OK button.- Returns:
- The action to be performed when the user tries the OK button.
-
canAutoLogin
public boolean canAutoLogin()Indicate whether this panel type is allowed to autologin. A panel must override this to enable autologin.- Returns:
- True if this panel can be used for autologin, false otherwise.
-