Package com.oorian.html.layout
Class ErrorLayout
java.lang.Object
A layout for error pages with status code, message, and recovery actions.
ErrorLayout provides a centered, user-friendly structure for displaying error states such as 404 Not Found, 403 Forbidden, 500 Server Error, or any application-specific error conditions that require user attention and potential recovery actions.
Structure:
┌──────────────────────────────────────┐ │ │ │ ┌─────┐ │ │ │ 404 │ │ (Status Code) │ └─────┘ │ │ │ │ Page Not Found │ (Title) │ │ │ The page you're looking for │ │ doesn't exist or has been moved. │ (Message) │ │ │ [ Go Home ] [ Go Back ] │ (Actions) │ │ └──────────────────────────────────────┘
Features:
- Large status code display
- Error title and detailed message
- Recovery action buttons
- Optional icon/illustration
- Configurable styling for different error types
Usage:
// Basic 404 error
ErrorLayout error = new ErrorLayout();
error.status(404)
.title("Page Not Found")
.message("The page you're looking for doesn't exist.")
.action(goHomeBtn);
// With multiple actions
ErrorLayout error = new ErrorLayout();
error.status(403)
.title("Access Denied")
.message("You don't have permission to view this page.")
.actions(loginBtn, requestAccessBtn);
// With custom icon
ErrorLayout error = new ErrorLayout();
error.icon(serverErrorIcon)
.status(500)
.title("Server Error")
.message("Something went wrong on our end.")
.action(retryBtn);
// Full viewport
error.fillViewport();
- Since:
- 2025
- Version:
- 1.0
- Author:
- Marvin P. Warble Jr.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSets a single action button.Sets multiple action buttons.Applies a danger/error color scheme (red tones).error403()Configures the layout for a 403 Forbidden error.error404()Configures the layout for a 404 Not Found error.error500()Configures the layout for a 500 Internal Server Error.error503()Configures the layout for a 503 Service Unavailable error.Returns the actions area for advanced customization.Returns the container for advanced customization.Returns the icon area for advanced customization.Returns the message area for advanced customization.Returns the status area for advanced customization.Returns the title area for advanced customization.Sets an icon or illustration.protected voidBuilds the element tree for the layout.Sets the error message as an element.Sets the error message.Applies a muted/neutral color scheme (gray tones).setActionsGap(int gap) Sets the gap between action buttons.setActionsGap(String gap) Sets the gap between action buttons.setContentPadding(int padding) Sets padding for the content container.setContentPadding(String padding) Sets padding for the content container.setMaxWidth(int maxWidth) Sets the maximum width of the content container.setMaxWidth(String maxWidth) Sets the maximum width of the content container.setMessageColor(String color) Sets the message color.setStatusColor(String color) Sets the status code color.setStatusSize(String size) Sets the status code font size.setTitleColor(String color) Sets the title color.status(int statusCode) Sets the error status code.Sets the error status as an element.Sets the error status code as text.Sets the error title as an element.Sets the error title.Applies a warning color scheme (orange tones).Methods inherited from class com.oorian.html.layout.PageLayout
createPane, createPane, fillParent, fillViewport, setBackgroundColor, setMinHeightMethods inherited from class com.oorian.html.StyledElement
addClass, addStyle, addStyle, addStyleAttribute, addTransition, animate, clearTransitions, getActiveStyle, getCssClass, getDisabledStyle, getFocusStyle, getFocusVisibleStyle, getHoverStyle, getHtml, getStyle, getStyleAttribute, hidden, hide, isDisplayed, isTransitionForwardActive, onHide, onRemovedFromPage, onShow, removeClass, setActiveStyle, setAlignContent, setAlignContent, setAlignItems, setAlignItems, setAlignSelf, setAlignSelf, setAnimation, setAnimationDelay, setAnimationDelay, setAnimationDelay, setAnimationDirection, setAnimationDirection, setAnimationDuration, setAnimationDuration, setAnimationDuration, setAnimationFillMode, setAnimationFillMode, setAnimationIterationCount, setAnimationIterationCount, setAnimationIterationCount, setAnimationName, setAnimationPlayState, setAnimationPlayState, setAnimationTimingFunction, setAnimationTimingFunction, setAnimationTimingFunction, setAnimationTimingFunction, setBackdropFilter, setBackdropFilter, setBackfaceVisibility, setBackfaceVisibility, setBackground, setBackground, setBackgroundAttachment, setBackgroundAttachment, setBackgroundBlendMode, setBackgroundBlendMode, setBackgroundClip, setBackgroundClip, setBackgroundColor, setBackgroundColor, setBackgroundImage, setBackgroundImage, setBackgroundOrigin, setBackgroundOrigin, setBackgroundPosition, setBackgroundPosition, setBackgroundPosition, setBackgroundPosition, setBackgroundPosition, setBackgroundRepeat, setBackgroundRepeat, setBackgroundSize, setBackgroundSize, setBackgroundSize, setBackgroundSize, setBackgroundSize, setBlur, setBorder, setBorder, setBorder, setBorder, setBorder, setBorder, setBorder, setBorder, setBorder, setBorderBottom, setBorderBottom, setBorderBottom, setBorderBottom, setBorderBottom, setBorderBottom, setBorderBottom, setBorderBottom, setBorderBottomColor, setBorderBottomColor, setBorderBottomLeftRadius, setBorderBottomLeftRadius, setBorderBottomLeftRadius, setBorderBottomRightRadius, setBorderBottomRightRadius, setBorderBottomRightRadius, setBorderBottomStyle, setBorderBottomStyle, setBorderBottomWidth, setBorderBottomWidth, setBorderBottomWidth, setBorderBottomWidth, setBorderColor, setBorderColor, setBorderColor, setBorderColor, setBorderImage, setBorderImage, setBorderImageOutset, setBorderImageRepeat, setBorderImageSlice, setBorderImageSource, setBorderImageWidth, setBorderLeft, setBorderLeft, setBorderLeft, setBorderLeft, setBorderLeft, setBorderLeft, setBorderLeft, setBorderLeft, setBorderLeftColor, setBorderLeftColor, setBorderLeftStyle, setBorderLeftStyle, setBorderLeftWidth, setBorderLeftWidth, setBorderLeftWidth, setBorderLeftWidth, setBorderRadius, setBorderRadius, setBorderRadius, setBorderRadius, setBorderRadius, setBorderRadius, setBorderRight, setBorderRight, setBorderRight, setBorderRight, setBorderRight, setBorderRight, setBorderRight, setBorderRight, setBorderRightColor, setBorderRightColor, setBorderRightStyle, setBorderRightStyle, setBorderRightWidth, setBorderRightWidth, setBorderRightWidth, setBorderRightWidth, setBorderStyle, setBorderStyle, setBorderTop, setBorderTop, setBorderTop, setBorderTop, setBorderTop, setBorderTop, setBorderTop, setBorderTop, setBorderTopColor, setBorderTopColor, setBorderTopLeftRadius, setBorderTopLeftRadius, setBorderTopLeftRadius, setBorderTopRightRadius, setBorderTopRightRadius, setBorderTopRightRadius, setBorderTopStyle, setBorderTopStyle, setBorderTopWidth, setBorderTopWidth, setBorderTopWidth, setBorderTopWidth, setBorderWidth, setBorderWidth, setBorderWidth, setBorderWidth, setBorderWidth, setBorderWidth, setBorderWidth, setBottom, setBottom, setBottom, setBoxShadow, setBoxShadow, setBoxShadow, setBoxShadow, setBoxShadow, setBoxSizing, setBoxSizing, setBreakAfter, setBreakBefore, setBreakInside, setBrightness, setClass, setClear, setClear, setClip, setClipPath, setClipPath, setColGap, setColGap, setColor, setColor, setColumnCount, setColumnCount, setColumnFill, setColumnFill, setColumnGap, setColumnRule, setColumnRuleColor, setColumnRuleColor, setColumnRuleStyle, setColumnRuleStyle, setColumnRuleWidth, setColumnRuleWidth, setColumns, setColumns, setColumns, setColumnSpan, setColumnWidth, setColumnWidth, setColumnWidth, setContrast, setCounterIncrement, setCounterReset, setCursor, setCursor, setDirection, setDirection, setDisabledStyle, setDisplay, setDisplay, setFilter, setFilter, setFilterOpacity, setFlex, setFlexBasis, setFlexDirection, setFlexDirection, setFlexFlow, setFlexGrow, setFlexGrow, setFlexShrink, setFlexShrink, setFlexWrap, setFlexWrap, setFloat, setFloat, setFocusStyle, setFocusVisibleStyle, setFont, setFont, setFont, setFont, setFont, setFont, setFont, setFont, setFont, setFont, setFont, setFont, setFontFace, setFontFamily, setFontFamily, setFontFeatureSettings, setFontKerning, setFontLanguageOverride, setFontSize, setFontSize, setFontSize, setFontSizeAdjust, setFontStretch, setFontStretch, setFontStyle, setFontStyle, setFontSynthesis, setFontVariant, setFontVariant, setFontVariantAlternates, setFontVariantCaps, setFontVariantEastAsian, setFontVariantLigatures, setFontVariantNumeric, setFontVariantPosition, setFontWeight, setFontWeight, setGap, setGap, setGap, setGap, setGrayscale, setHangingPunctuation, setHangingPunctuation, setHeight, setHeight, setHeight, setHoverStyle, setHueRotate, setHyphens, setImageOrientation, setImageRendering, setImageResolution, setImeMode, setInvert, setJustifyContent, setJustifyContent, setKeyFrames, setLeft, setLeft, setLeft, setLetterSpacing, setLetterSpacing, setLetterSpacing, setLetterSpacing, setLineBreak, setLineHeight, setLineHeight, setLineHeight, setLineHeight, setMargin, setMargin, setMargin, setMargin, setMargin, setMarginBottom, setMarginBottom, setMarginBottom, setMarginLeft, setMarginLeft, setMarginLeft, setMarginRight, setMarginRight, setMarginRight, setMarginTop, setMarginTop, setMarginTop, setMark, setMarkAfter, setMarkBefore, setMarks, setMarqueeDirection, setMarqueePlayCount, setMarqueeSpeed, setMarqueeStyle, setMask, setMaskType, setMaxHeight, setMaxHeight, setMaxHeight, setMaxHeightToWindowHeight, setMaxWidth, setMaxWidthToWindowWidth, setMinHeight, setMinHeight, setMinHeightToWindowHeight, setMinWidth, setMinWidth, setMinWidth, setMinWidthToWindowWidth, setNavDown, setNavIndex, setNavIndex, setNavLeft, setNavRight, setNavUp, setObjectFit, setObjectPosition, setOnClickNavigateBack, setOnClickNavigateBack, setOnClickNavigateBack, setOnClickNavigateForward, setOnClickNavigateForward, setOnClickNavigateForward, setOnClickNavigateTo, setOnDblClick, setOnDblClickChange, setOpacity, setOpacity, setOrder, setOrder, setOrphans, setOutline, setOutline, setOutline, setOutline, setOutlineColor, setOutlineColor, setOutlineOffset, setOutlineOffset, setOutlineOffset, setOutlineStyle, setOutlineStyle, setOutlineWidth, setOutlineWidth, setOutlineWidth, setOutlineWidth, setOverflow, setOverflow, setOverflow, setOverflowWrap, setOverflowX, setOverflowX, setOverflowY, setOverflowY, setPadding, setPadding, setPadding, setPadding, setPadding, setPadding, setPadding, setPadding, setPaddingBottom, setPaddingBottom, setPaddingBottom, setPaddingLeft, setPaddingLeft, setPaddingLeft, setPaddingRight, setPaddingRight, setPaddingRight, setPaddingTop, setPaddingTop, setPaddingTop, setPageBreakAfter, setPageBreakAfter, setPageBreakBefore, setPageBreakBefore, setPageBreakInside, setPageBreakInside, setPerspective, setPerspective, setPerspective, setPerspectiveOrigin, setPerspectiveOrigin, setPerspectiveOrigin, setPerspectiveOrigin, setPhonemes, setPosition, setPosition, setPosition, setPosition, setPosition, setQuotes, setResize, setResize, setResizeToWindowHeight, setResizeToWindowHeight, setResizeToWindowWidth, setRest, setRestAfter, setRestBefore, setRight, setRight, setRight, setRotate, setRotate, setRowGap, setRowGap, setSaturate, setScale, setScale, setSepia, setShow, setSize, setSize, setSize, setSkewX, setSkewY, setStyle, setStyle, setTabSize, setTabSize, setTabSize, setTabSize, setTextAlign, setTextAlign, setTextAlignLast, setTextAlignLast, setTextCombineUpright, setTextCombineWeight, setTextDecoration, setTextDecoration, setTextDecorationColor, setTextDecorationColor, setTextDecorationLine, setTextDecorationLine, setTextDecorationStyle, setTextDecorationStyle, setTextIndent, setTextIndent, setTextIndent, setTextIndent, setTextJustify, setTextJustify, setTextOrientation, setTextOverflow, setTextOverflow, setTextSelectDisabled, setTextShadow, setTextShadow, setTextShadow, setTextShadow, setTextShadow, setTextTransform, setTextTransform, setTextUnderlinePosition, setTop, setTop, setTop, setTransform, setTransform, setTransformOrigin, setTransformOrigin, setTransformOrigin, setTransformOrigin, setTransformOrigin, setTransformStyle, setTransformStyle, setTransition, setTransitionDelay, setTransitionDelay, setTransitionDelay, setTransitionDuration, setTransitionDuration, setTransitionDuration, setTransitionProperty, setTransitionTimingFunction, setTransitionTimingFunction, setTransitionTimingFunction, setTransitionTimingFunction, setTranslateX, setTranslateY, setTranslateZ, setUnicodeBidi, setUnicodeBidi, setVerticalAlign, setVerticalAlign, setVisibility, setVisibility, setVoiceBalance, setVoiceDuration, setVoicePitch, setVoicePitchRange, setVoiceRate, setVoiceStress, setVoiceVolume, setWhiteSpace, setWhiteSpace, setWidows, setWidth, setWidth, setWidth, setWordBreak, setWordBreak, setWordSpacing, setWordSpacing, setWordSpacing, setWordSpacing, setWordWrap, setWordWrap, setWritingMode, setZIndex, setZIndex, show, shown, stopAnimation, transitionForward, transitionForward, transitionReverse, transitionReverse, updateStyle, updateStyle, updateStyleIfChangedMethods inherited from class com.oorian.html.VisualElement
clearOnClick, click, disable, enable, getAccessKey, getAutoCapitalize, getEnterKeyHint, getInputMode, getPopover, getRole, getTabIndex, getTitle, isAutoFocus, isContentEditable, isDisabled, isDraggable, isHidden, isInert, isSpellCheck, onDisabled, onEnabled, setAccessKey, setAriaAtomic, setAriaBusy, setAriaChecked, setAriaCheckedMixed, setAriaControls, setAriaCurrent, setAriaDescribedBy, setAriaDisabled, setAriaErrorMessage, setAriaExpanded, setAriaHasPopup, setAriaHasPopup, setAriaHidden, setAriaInvalid, setAriaLabel, setAriaLabelledBy, setAriaLevel, setAriaLive, setAriaModal, setAriaOwns, setAriaPressed, setAriaRequired, setAriaSelected, setAriaValueRange, setAriaValueText, setAutoCapitalize, setAutoFocus, setConsumeEvent, setContentEditable, setDisabled, setDraggable, setDropAllowed, setEnterKeyHint, setFocus, setHidden, setInert, setInputMode, setOnAnimationCancel, setOnAnimationEnd, setOnAnimationIteration, setOnAnimationStart, setOnAuxClick, setOnBeforeInput, setOnBeforeToggle, setOnBlur, setOnChange, setOnClick, setOnClickChange, setOnCompositionEnd, setOnCompositionStart, setOnCompositionUpdate, setOnContextMenu, setOnCopy, setOnCut, setOnDocumentResize, setOnFocus, setOnFocusIn, setOnFocusOut, setOnFormData, setOnGotPointerCapture, setOnInput, setOnInvalid, setOnKeyDown, setOnKeyPressed, setOnKeyUp, setOnLostPointerCapture, setOnMouseDown, setOnMouseEnter, setOnMouseLeave, setOnMouseMove, setOnMouseOut, setOnMouseOutChangeClass, setOnMouseOutChangeStyle, setOnMouseOutChangeStyle, setOnMouseOver, setOnMouseOverChangeClass, setOnMouseOverChangeStyle, setOnMouseOverChangeStyle, setOnMouseOverShow, setOnMouseUp, setOnPageLoad, setOnPaste, setOnPointerCancel, setOnPointerDown, setOnPointerEnter, setOnPointerLeave, setOnPointerMove, setOnPointerOut, setOnPointerOver, setOnPointerUp, setOnResize, setOnScroll, setOnScrollEnd, setOnSelect, setOnSelectionChange, setOnSelectStart, setOnToggle, setOnTouchCancel, setOnTouchEnd, setOnTouchMove, setOnTouchStart, setOnTransitionCancel, setOnTransitionEnd, setOnTransitionRun, setOnTransitionStart, setOnWheel, setOnWindowResize, setPopover, setRole, setRole, setSpellCheck, setTabIndex, setTitle, setTooltipMethods inherited from class com.oorian.html.Element
addAttribute, addAttribute, addAttribute, addAttribute, addElement, addLineBreak, addLineOfText, addLineOfText, addLineOfText, addParagraph, addParagraph, addSpacer, addText, addText, addText, addText, assignId, containsElement, containsElement, create, dispatchEvent, dispatchEvent, dispatchEvent, dispatchEvent, equals, excludeId, executeJs, executeJs, executeJs, getAccept, getAllElements, getAncestor, getAttribute, getAttributes, getComponent, getDir, getElement, getElementById, getElementCount, getElementCount, getElements, getElements, getElementsByComponentName, getElementsByTagName, getHtml, getId, getInnerHtml, getInnerHtml, getIs, getItemId, getItemProp, getItemRef, getItemType, getLang, getNextSibling, getPage, getParent, getPart, getPrevSibling, getSlot, getTagName, getTextContent, getUrl, hasAttribute, hasElements, insertElement, isChildOf, isClosedTag, isCreated, isDescendantOf, isDescendantOf, isInitialized, isItemScope, isTranslate, onCallback, onCreated, onElementAdded, onElementRemoved, onHashChange, onHidden, onInitialized, onJsReturn, onPageLoaded, onPageUnloaded, onRefresh, onShown, onUpdated, onUserEvent, prewrite, recreate, refresh, refresh, registerAddition, registerListener, registerListener, registerListener, registerListener, registerListener, registerListener, registerListener, registerSubtraction, registerUpdate, removeAllElements, removeAttribute, removeAttribute, removeElement, removeElement, removeFromParent, requestCallback, requestCallback, requestCallback, requestCallback, resetId, scrollTo, scrollToBottom, scrollToTop, self, sendCommand, sendUpdate, setAccept, setComponent, setDir, setDir, setElement, setId, setIs, setItemId, setItemProp, setItemRef, setItemScope, setItemType, setLang, setOnError, setOnLoad, setPage, setParent, setPart, setSlot, setTagName, setText, setText, setText, setText, setTranslate, toString, unregisterListener, update, updateAttributes
-
Constructor Details
-
ErrorLayout
public ErrorLayout()Constructs an ErrorLayout with default configuration.
-
-
Method Details
-
initialize
protected void initialize()Builds the element tree for the layout.- Overrides:
initializein classStyledElement<ErrorLayout>
-
status
Sets the error status code.- Parameters:
statusCode- the HTTP status code (e.g., 404, 500)- Returns:
- this ErrorLayout for method chaining
-
status
Sets the error status code as text.- Parameters:
statusCode- the status code text (e.g., "404", "Error")- Returns:
- this ErrorLayout for method chaining
-
status
Sets the error status as an element.- Parameters:
statusElement- the status element- Returns:
- this ErrorLayout for method chaining
-
icon
Sets an icon or illustration.- Parameters:
icon- the icon element- Returns:
- this ErrorLayout for method chaining
-
title
Sets the error title.- Parameters:
title- the title text- Returns:
- this ErrorLayout for method chaining
-
title
Sets the error title as an element.- Parameters:
title- the title element- Returns:
- this ErrorLayout for method chaining
-
message
Sets the error message.- Parameters:
message- the message text- Returns:
- this ErrorLayout for method chaining
-
message
Sets the error message as an element.- Parameters:
message- the message element- Returns:
- this ErrorLayout for method chaining
-
action
Sets a single action button.- Parameters:
action- the action button element- Returns:
- this ErrorLayout for method chaining
-
actions
Sets multiple action buttons.- Parameters:
actions- the action button elements- Returns:
- this ErrorLayout for method chaining
-
setStatusColor
Sets the status code color.- Parameters:
color- the text color- Returns:
- this ErrorLayout for method chaining
-
setStatusSize
Sets the status code font size.- Parameters:
size- the font size (e.g., "6rem", "96px")- Returns:
- this ErrorLayout for method chaining
-
setTitleColor
Sets the title color.- Parameters:
color- the text color- Returns:
- this ErrorLayout for method chaining
-
setMessageColor
Sets the message color.- Parameters:
color- the text color- Returns:
- this ErrorLayout for method chaining
-
setMaxWidth
Sets the maximum width of the content container.- Overrides:
setMaxWidthin classStyledElement<ErrorLayout>- Parameters:
maxWidth- the max width in pixels- Returns:
- this ErrorLayout for method chaining
-
setMaxWidth
Sets the maximum width of the content container.- Overrides:
setMaxWidthin classStyledElement<ErrorLayout>- Parameters:
maxWidth- the max width value (e.g., "500px", "50%")- Returns:
- this ErrorLayout for method chaining
-
setContentPadding
Sets padding for the content container.- Parameters:
padding- the padding in pixels- Returns:
- this ErrorLayout for method chaining
-
setContentPadding
Sets padding for the content container.- Parameters:
padding- the padding value (e.g., "32px", "2rem")- Returns:
- this ErrorLayout for method chaining
-
setActionsGap
Sets the gap between action buttons.- Parameters:
gap- the gap in pixels- Returns:
- this ErrorLayout for method chaining
-
setActionsGap
Sets the gap between action buttons.- Parameters:
gap- the gap value (e.g., "12px", "1rem")- Returns:
- this ErrorLayout for method chaining
-
getContainer
Returns the container for advanced customization.- Returns:
- the container div
-
getIconArea
Returns the icon area for advanced customization.- Returns:
- the icon area div
-
getStatusArea
Returns the status area for advanced customization.- Returns:
- the status area div
-
getTitleArea
Returns the title area for advanced customization.- Returns:
- the title area div
-
getMessageArea
Returns the message area for advanced customization.- Returns:
- the message area div
-
getActionsArea
Returns the actions area for advanced customization.- Returns:
- the actions area div
-
error404
Configures the layout for a 404 Not Found error.Sets the status code, title, and message with appropriate styling.
- Returns:
- this ErrorLayout for method chaining
-
error403
Configures the layout for a 403 Forbidden error.Sets the status code, title, and message with appropriate styling.
- Returns:
- this ErrorLayout for method chaining
-
error500
Configures the layout for a 500 Internal Server Error.Sets the status code, title, and message with appropriate styling.
- Returns:
- this ErrorLayout for method chaining
-
error503
Configures the layout for a 503 Service Unavailable error.Sets the status code, title, and message with appropriate styling.
- Returns:
- this ErrorLayout for method chaining
-
dangerStyle
Applies a danger/error color scheme (red tones).- Returns:
- this ErrorLayout for method chaining
-
warningStyle
Applies a warning color scheme (orange tones).- Returns:
- this ErrorLayout for method chaining
-
mutedStyle
Applies a muted/neutral color scheme (gray tones).- Returns:
- this ErrorLayout for method chaining
-