Package com.oorian.bootstrap
Class BootstrapComponent<T extends BootstrapComponent<T>>
java.lang.Object
com.oorian.html.Element<T>
com.oorian.html.HtmlElement<T>
com.oorian.html.StyledElement<T>
com.oorian.bootstrap.BootstrapComponent<T>
- Direct Known Subclasses:
BsAccordion,BsAlert,BsBadge,BsBreadcrumb,BsButton,BsButtonGroup,BsCard,BsCardBody,BsCardFooter,BsCardHeader,BsCarousel,BsCheckbox,BsCloseButton,BsCol,BsCollapse,BsContainer,BsDropdown,BsFormGroup,BsFormLabel,BsInput,BsListGroup,BsModal,BsNav,BsNavbar,BsNavItem,BsOffcanvas,BsPagination,BsPlaceholder,BsPopover,BsProgress,BsRadio,BsRow,BsSelect,BsSpinner,BsSwitch,BsTable,BsTabs,BsTextarea,BsToast,BsTooltip
public abstract class BootstrapComponent<T extends BootstrapComponent<T>>
extends com.oorian.html.StyledElement<T>
Base class for all Bootstrap components.
This abstract class provides the foundation for Bootstrap component wrappers. It extends StyledElement to inherit all CSS styling capabilities including addClass(), removeClass(), and other styling methods.
Bootstrap is a CSS-first framework with JavaScript enhancements for interactive components. Components in this library render HTML elements with appropriate Bootstrap classes applied.
Component Lifecycle:
- Component is created with a base tag and component type
- Bootstrap classes are added via inherited addClass() method
- During initialization, resources are added to the page
- Component renders as HTML with Bootstrap classes applied
Usage:
BsButton button = new BsButton("Click Me");
button.setVariant(ButtonVariant.PRIMARY);
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBootstrapComponent(String tagName, String componentType) Creates a new Bootstrap component. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddInitCode(String code) Adds initialization code to the page's init script.protected voidcallMethod(String methodName, Object... args) Calls a method on the client-side Bootstrap instance.protected voidensureId()Ensures this component has an ID.Gets the component type identifier.protected voidprotected voidremoveClassesWithPrefix(String prefix) Removes all CSS classes that start with the given prefix.protected TSets a Bootstrap data attribute (data-bs-*).Methods inherited from class com.oorian.html.StyledElement
addClass, addStyle, addStyle, addStyleAttribute, deselect, getHtml, getStyle, hide, isDisplayed, onHidden, onHide, onShow, onShown, removeClass, select, 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, setBackfaceVisibility, setBackfaceVisibility, setBackground, setBackground, setBackgroundAttachment, setBackgroundAttachment, setBackgroundBlendMode, setBackgroundBlendMode, setBackgroundClip, setBackgroundClip, setBackgroundColor, setBackgroundColor, setBackgroundColor, setBackgroundImage, setBackgroundOrigin, setBackgroundOrigin, setBackgroundPosition, setBackgroundPosition, setBackgroundPosition, setBackgroundPosition, setBackgroundPosition, setBackgroundRepeat, setBackgroundRepeat, setBackgroundSize, setBackgroundSize, setBackgroundSize, setBackgroundSize, setBackgroundSize, 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, setBoxSizing, setBoxSizing, setBreakAfter, setBreakBefore, setBreakInside, setClass, setClear, setClear, setClip, setColGap, setColGap, setColor, setColor, setColumnCount, setColumnCount, setColumnFill, setColumnFill, setColumnGap, setColumnRule, setColumnRuleColor, setColumnRuleColor, setColumnRuleStyle, setColumnRuleStyle, setColumnRuleWidth, setColumnRuleWidth, setColumns, setColumns, setColumns, setColumnSpan, setColumnWidth, setColumnWidth, setColumnWidth, setCounterIncrement, setCounterReset, setCursor, setCursor, setDirection, setDirection, setDisabledClass, setDisabledStyle, setDisplay, setDisplay, setFilter, setFlex, setFlexBasis, setFlexDirection, setFlexDirection, setFlexFlow, setFlexGrow, setFlexGrow, setFlexShrink, setFlexShrink, setFlexWrap, setFlexWrap, setFloat, setFloat, 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, setHangingPunctuation, setHangingPunctuation, setHeight, setHeight, setHeight, setHyphens, setImageOrientation, setImageRendering, setImageResolution, setImeMode, 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, setMaxWidth, setMaxWidth, setMaxWidthToWindowWidth, setMinHeight, setMinHeight, setMinHeight, setMinHeightToWindowHeight, setMinWidth, setMinWidth, setMinWidth, setMinWidthToWindowWidth, setNavDown, setNavIndex, setNavIndex, setNavLeft, setNavRight, setNavUp, setNormalClass, setNormalStyle, 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, setOverClass, setOverflow, setOverflow, setOverflow, setOverflowWrap, setOverflowX, setOverflowX, setOverflowY, setOverflowY, setOverStyle, 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, setPressedClass, setPressedStyle, setQuotes, setResize, setResize, setResizeToWindowHeight, setResizeToWindowHeight, setResizeToWindowWidth, setRest, setRestAfter, setRestBefore, setRight, setRight, setRight, setRowGap, setRowGap, setSelected, setSelectedClass, setSelectedStyle, setShow, setSize, setSize, setSize, 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, setTextTransform, setTextTransform, setTextUnderlinePosition, setTop, setTop, setTop, setTransform, setTransformOrigin, setTransformOrigin, setTransformOrigin, setTransformOrigin, setTransformOrigin, setTransformStyle, setTransformStyle, setTransition, setTransitionDelay, setTransitionDelay, setTransitionDelay, setTransitionDuration, setTransitionDuration, setTransitionDuration, setTransitionProperty, setTransitionTimingFunction, setTransitionTimingFunction, setTransitionTimingFunction, setTransitionTimingFunction, 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, updateStyle, updateStyleMethods inherited from class com.oorian.html.HtmlElement
addLineBreak, addLineOfText, addLineOfText, addLineOfText, addParagraph, addSpacer, addText, addText, addText, addText, clearOnClick, disable, enable, isDisabled, isEnabled, onDisabled, onEnabled, setDisabled, setDraggable, setDropAllowed, setEnabled, setFocus, setOnBlur, setOnChange, setOnClick, setOnClickChange, setOnDocumentResize, setOnFocus, setOnKeyDown, setOnKeyPressed, setOnKeyUp, setOnMouseDown, setOnMouseMove, setOnMouseOut, setOnMouseOutChangeClass, setOnMouseOutChangeStyle, setOnMouseOutChangeStyle, setOnMouseOver, setOnMouseOverChangeClass, setOnMouseOverChangeStyle, setOnMouseOverChangeStyle, setOnMouseOverShow, setOnMouseUp, setOnPageLoad, setOnResize, setOnWheel, setOnWindowResize, setText, setText, setText, setText, setTooltipMethods inherited from class com.oorian.html.Element
addAttribute, addAttribute, addAttribute, addAttribute, addElement, addElements, assignId, click, containsElement, containsElement, create, dispatchEvent, dispatchEvent, dispatchEvent, dispatchEvent, equals, excludeId, executeJs, executeJs, executeJs, getActionId, getAllDescendants, getAncestor, getAttribute, getAttributes, getDescendantCount, getElement, getElementById, getElementCount, getElements, getElements, getElementsByTagName, getHtml, getId, getInnerHtml, getInnerHtml, getNextSibling, getPage, getParent, getPrevSibling, getTagName, getTextContent, getUrl, hasAttribute, hasElements, insertElement, isChildOf, isCreated, isDescendantOf, isDescendantOf, isInitialized, loadScript, loadScript, navigateBack, navigateForward, navigateTo, navigateToReferrer, onCallback, onCreated, onElementAdded, onElementRemoved, onInitialized, onJsReturn, onPageLoaded, onPageUnloaded, onRefresh, onRemovedFromPage, onUpdated, onUserEvent, openInNewWindow, openInNewWindow, 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, setActionId, 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, setComponent, setConsumeEvent, setElement, setElements, setId, setOnScroll, setOnScrollEnd, setPage, setParent, setRole, setRole, setTabIndex, setTagName, setTitle, toString, unregisterListener, update, updateAttributes, write
-
Constructor Details
-
BootstrapComponent
Creates a new Bootstrap component.- Parameters:
tagName- The HTML tag name for this component (e.g., "div", "button", "span")componentType- The Bootstrap component type identifier for data attributes
-
-
Method Details
-
ensureId
protected void ensureId()Ensures this component has an ID. If no ID is set, generates one automatically. This is important for components that require JavaScript initialization. -
getComponentType
Gets the component type identifier.- Returns:
- The Bootstrap component type
-
initialize
protected void initialize()- Overrides:
initializein classcom.oorian.html.Element<T extends BootstrapComponent<T>>
-
removeClassesWithPrefix
Removes all CSS classes that start with the given prefix.This is useful for replacing Bootstrap classes when switching between variants (e.g., changing from btn-primary to btn-secondary).
- Parameters:
prefix- The prefix to match (e.g., "btn-", "bg-", "text-")
-
addInitCode
Adds initialization code to the page's init script.This is used for components that require JavaScript initialization, such as modals, tooltips, and popovers.
- Parameters:
code- JavaScript code to execute during initialization
-
setDataBs
Sets a Bootstrap data attribute (data-bs-*).- Parameters:
name- The data attribute name (without the "data-bs-" prefix)value- The attribute value- Returns:
- This component for method chaining
-
callMethod
Calls a method on the client-side Bootstrap instance.- Parameters:
methodName- The name of the method to callargs- The arguments to pass to the method
-