From f448dadd293a149e5aa7e3ec837379c4ab6bac38 Mon Sep 17 00:00:00 2001 From: Artur- <260340+Artur-@users.noreply.github.com> Date: Tue, 22 Sep 2026 10:14:32 +0000 Subject: [PATCH] docs: reconcile @since tags Automated reconciliation against the published release history: add missing tags, correct wrong ones, create minimal @since javadoc for undocumented types, and remove redundant tags. --- .../com/vaadin/browserless/BaseBrowserlessTest.java | 4 ++++ .../browserless/BrowserlessApplicationContext.java | 7 +++++++ .../com/vaadin/browserless/BrowserlessUIContext.java | 2 ++ .../vaadin/browserless/CommercialTesterWrappers.java | 4 +++- .../java/com/vaadin/browserless/ComponentQuery.java | 1 + .../java/com/vaadin/browserless/ComponentTester.java | 10 ++++++++++ .../SecuredBrowserlessApplicationContext.java | 7 +++++++ .../java/com/vaadin/browserless/TesterWrappers.java | 6 ++++++ .../browserless/internal/GridContextMenuSupport.java | 2 ++ .../browserless/internal/MenuItemNavigation.java | 2 ++ .../browserless/internal/RenderedComponentSupport.java | 2 ++ .../java/com/vaadin/browserless/locator/Locator.java | 1 + .../java/com/vaadin/flow/component/TextTester.java | 1 + .../flow/component/accordion/AccordionTester.java | 3 +++ .../flow/component/avatar/AvatarGroupTester.java | 1 + .../flow/component/breadcrumbs/BreadcrumbsTester.java | 1 + .../com/vaadin/flow/component/card/CardTester.java | 1 + .../vaadin/flow/component/checkbox/CheckboxTester.java | 5 +++++ .../vaadin/flow/component/checkbox/SwitchTester.java | 1 + .../vaadin/flow/component/combobox/ComboBoxTester.java | 1 + .../component/combobox/MultiSelectComboBoxTester.java | 1 + .../flow/component/contextmenu/ContextMenuTester.java | 2 ++ .../flow/component/dashboard/DashboardTester.java | 2 +- .../flow/component/datepicker/DatePickerTester.java | 3 +++ .../component/datetimepicker/DateTimePickerTester.java | 2 ++ .../com/vaadin/flow/component/dialog/DialogTester.java | 5 +++++ .../com/vaadin/flow/component/grid/GridTester.java | 6 ++++++ .../grid/contextmenu/GridContextMenuTester.java | 1 + .../vaadin/flow/component/gridpro/GridProTester.java | 1 + .../flow/component/login/LoginOverlayTester.java | 2 ++ .../vaadin/flow/component/markdown/MarkdownTester.java | 1 + .../vaadin/flow/component/menubar/MenuBarTester.java | 2 ++ .../flow/component/splitlayout/SplitLayoutTester.java | 1 + .../flow/component/textfield/NumberFieldTester.java | 7 +++++++ .../flow/component/textfield/TextAreaTester.java | 2 ++ .../flow/component/textfield/TextFieldTester.java | 1 + .../flow/component/timepicker/TimePickerTester.java | 3 +++ .../vaadin/flow/component/treegrid/TreeGridTester.java | 1 + .../com/vaadin/flow/component/upload/UploadTester.java | 7 +++++++ 39 files changed, 110 insertions(+), 2 deletions(-) diff --git a/shared/src/main/java/com/vaadin/browserless/BaseBrowserlessTest.java b/shared/src/main/java/com/vaadin/browserless/BaseBrowserlessTest.java index 274f39b2..e5bb70c0 100644 --- a/shared/src/main/java/com/vaadin/browserless/BaseBrowserlessTest.java +++ b/shared/src/main/java/com/vaadin/browserless/BaseBrowserlessTest.java @@ -94,6 +94,7 @@ protected void initVaadinEnvironment() { * * @return the set of services implementation classes, never * {@literal null}. + * @since 25.3 */ protected final Set> allLookupServices() { return allLookupServices(testConfiguration()); @@ -117,6 +118,7 @@ protected final Set> allLookupServices() { * {@literal null} * @return the set of services implementation classes, never * {@literal null}. + * @since 25.3 */ @SuppressWarnings("deprecation") protected final Set> allLookupServices( @@ -368,6 +370,7 @@ public T navigate(String location, * their component instance and state; other views are recreated. * * @return the view shown after the reload + * @since 25.4 */ public HasElement reload() { return BrowserlessDSL.reload(verifyAndGetUI()); @@ -382,6 +385,7 @@ public HasElement reload() { * @param * the view type * @return the view shown after the reload + * @since 25.4 */ public T reload(Class expectedTarget) { return BrowserlessDSL.reload(verifyAndGetUI(), expectedTarget); diff --git a/shared/src/main/java/com/vaadin/browserless/BrowserlessApplicationContext.java b/shared/src/main/java/com/vaadin/browserless/BrowserlessApplicationContext.java index d285cbfc..df31eb2b 100644 --- a/shared/src/main/java/com/vaadin/browserless/BrowserlessApplicationContext.java +++ b/shared/src/main/java/com/vaadin/browserless/BrowserlessApplicationContext.java @@ -554,6 +554,7 @@ Set> getLookupServices() { * @throws IllegalArgumentException * if the name is blank or reserved by the browserless * environment + * @since 25.3 */ public Builder withApplicationProperty(String name, String value) { configuration.withApplicationProperty(name, value); @@ -570,6 +571,7 @@ public Builder withApplicationProperty(String name, String value) { * @throws IllegalArgumentException * if a name is blank or reserved by the browserless * environment + * @since 25.3 */ public Builder withApplicationProperties( Map properties) { @@ -587,6 +589,7 @@ public Builder withApplicationProperties( * the identifiers of the features to enable; must not be * {@code null} * @return this builder + * @since 25.3 */ public Builder withFeatureFlags(String... featureIds) { configuration.withFeatureFlags(featureIds); @@ -602,6 +605,7 @@ public Builder withFeatureFlags(String... featureIds) { * @param features * the features to enable; must not be {@code null} * @return this builder + * @since 25.3 */ public Builder withFeatureFlags(Feature... features) { configuration.withFeatureFlags(features); @@ -620,6 +624,7 @@ public Builder withFeatureFlags(Feature... features) { * {@code true} to enable the feature, {@code false} to * disable it * @return this builder + * @since 25.3 */ public Builder withFeatureFlag(String featureId, boolean enabled) { configuration.withFeatureFlag(featureId, enabled); @@ -638,6 +643,7 @@ public Builder withFeatureFlag(String featureId, boolean enabled) { * {@code true} to enable the feature, {@code false} to * disable it * @return this builder + * @since 25.3 */ public Builder withFeatureFlag(Feature feature, boolean enabled) { configuration.withFeatureFlag(feature, enabled); @@ -659,6 +665,7 @@ public Builder withFeatureFlag(Feature feature, boolean enabled) { * @param testConfiguration * the configuration to apply; must not be {@code null} * @return this builder + * @since 25.3 */ public Builder withConfiguration( BrowserlessConfiguration testConfiguration) { diff --git a/shared/src/main/java/com/vaadin/browserless/BrowserlessUIContext.java b/shared/src/main/java/com/vaadin/browserless/BrowserlessUIContext.java index f186da9c..6c7760a2 100644 --- a/shared/src/main/java/com/vaadin/browserless/BrowserlessUIContext.java +++ b/shared/src/main/java/com/vaadin/browserless/BrowserlessUIContext.java @@ -438,6 +438,7 @@ public HasElement getCurrentView() { * their component instance and state; other views are recreated. * * @return the view shown after the reload + * @since 25.4 */ public HasElement reload() { activate(); @@ -453,6 +454,7 @@ public HasElement reload() { * @param * the view type * @return the view shown after the reload + * @since 25.4 */ public T reload(Class expectedTarget) { activate(); diff --git a/shared/src/main/java/com/vaadin/browserless/CommercialTesterWrappers.java b/shared/src/main/java/com/vaadin/browserless/CommercialTesterWrappers.java index 00841248..d711e4e4 100644 --- a/shared/src/main/java/com/vaadin/browserless/CommercialTesterWrappers.java +++ b/shared/src/main/java/com/vaadin/browserless/CommercialTesterWrappers.java @@ -36,6 +36,7 @@ public interface CommercialTesterWrappers { * @param grid * the GridPro instance to be tested * @return a GridProTester instance wrapping the given GridPro + * @since 25.3 */ default GridProTester, V> test(GridPro grid) { return BaseBrowserlessTest.internalWrap(GridProTester.class, grid); @@ -49,6 +50,7 @@ default GridProTester, V> test(GridPro grid) { * @param itemType * the type of the items in the GridPro * @return a GridProTester instance wrapping the given GridPro + * @since 25.3 */ default GridProTester, V> test(GridPro grid, Class itemType) { @@ -72,7 +74,7 @@ default ChartTester test(Chart chart) { * @param dashboard * the dashboard instance to be tested * @return a DashboardTester instance wrapping the given dashboard - * @since 1.1 + * @since 1.1.2 */ default DashboardTester test(Dashboard dashboard) { return BaseBrowserlessTest.internalWrap(DashboardTester.class, diff --git a/shared/src/main/java/com/vaadin/browserless/ComponentQuery.java b/shared/src/main/java/com/vaadin/browserless/ComponentQuery.java index 6a9d55de..fb557db0 100644 --- a/shared/src/main/java/com/vaadin/browserless/ComponentQuery.java +++ b/shared/src/main/java/com/vaadin/browserless/ComponentQuery.java @@ -701,6 +701,7 @@ public ComponentQuery withoutAttribute(String attribute, String value) { * @return this element query instance for chaining * @throws IllegalArgumentException * if {@code slot} is {@literal null} or blank + * @since 25.3 */ public ComponentQuery withinSlot(String slot) { if (slot == null || slot.isBlank()) { diff --git a/shared/src/main/java/com/vaadin/browserless/ComponentTester.java b/shared/src/main/java/com/vaadin/browserless/ComponentTester.java index 737e8f23..98048058 100644 --- a/shared/src/main/java/com/vaadin/browserless/ComponentTester.java +++ b/shared/src/main/java/com/vaadin/browserless/ComponentTester.java @@ -106,6 +106,7 @@ public boolean isUsable() { * change its value, so it is considered not usable. * * @return {@code true} if the component is read-only + * @since 25.3 */ protected boolean isComponentReadOnly() { return getComponent() instanceof HasValue hasValue @@ -200,6 +201,7 @@ public final void ensureComponentIsUsable() { * @throws IllegalStateException * if the component is not usable, with details on its current * state. + * @since 25.3 */ protected void ensureComponentIsUsableOrDetach() { try { @@ -320,6 +322,7 @@ protected static void ensureVisible(Component component) { * @throws IllegalStateException * if the component cannot accept focus in its current state, * for example because it is disabled or not attached + * @since 25.4 */ public void focus() { ensureComponentCanBeFocused(); @@ -332,6 +335,7 @@ public void focus() { * {@link Focusable#focus()} calls. * * @return {@code true} if the component is focused + * @since 25.4 */ public boolean isFocused() { return component.getUI().flatMap(FocusTracker::getFocusedComponent) @@ -353,6 +357,7 @@ public boolean isFocused() { * @throws IllegalStateException * if the component cannot accept focus in its current state, * for example because it is disabled or not attached + * @since 25.4 */ public void blur() { ensureComponentCanBeFocused(); @@ -603,6 +608,7 @@ private AbstractFieldSupport getFieldSupport(Object target) { * if the component is not usable * @throws IllegalArgumentException * if the component does not hold a value + * @since 25.3 */ protected void clearAsUser() { ensureComponentIsUsable(); @@ -628,6 +634,7 @@ protected void clearAsUser() { * visible * @throws IllegalArgumentException * if the component does not hold a value + * @since 25.3 */ protected void clickClearButtonAsUser() { ensureComponentIsUsable(); @@ -683,6 +690,7 @@ protected void setValueAsUser(V value) { * the field to set the value to, not {@literal null}. * @param value * the new value, may be null. + * @since 25.3 */ protected void setValueAsUser(HasValue field, V value) { final AbstractFieldSupport fs = getFieldSupport(field); @@ -712,6 +720,7 @@ protected void setValueAsUser(HasValue field, V value) { * @param field * the field to check, not {@literal null}. * @return {@literal true} if the value can be set as a user + * @since 25.3 */ protected boolean canSetValueAsUser(HasValue field) { return field instanceof AbstractField @@ -733,6 +742,7 @@ protected boolean canSetValueAsUser(HasValue field) { * the value as the client would send it, may be null. * @throws IllegalStateException * if the property does not accept updates from the client + * @since 25.3 */ protected void setPropertyAsUser(String property, Serializable value) { try { diff --git a/shared/src/main/java/com/vaadin/browserless/SecuredBrowserlessApplicationContext.java b/shared/src/main/java/com/vaadin/browserless/SecuredBrowserlessApplicationContext.java index f5e867e6..98dc72eb 100644 --- a/shared/src/main/java/com/vaadin/browserless/SecuredBrowserlessApplicationContext.java +++ b/shared/src/main/java/com/vaadin/browserless/SecuredBrowserlessApplicationContext.java @@ -217,6 +217,7 @@ public Builder withCloseHook(Runnable hook) { /** * @see BrowserlessApplicationContext.Builder#withApplicationProperty + * @since 25.3 */ public Builder withApplicationProperty(String name, String value) { base.withApplicationProperty(name, value); @@ -225,6 +226,7 @@ public Builder withApplicationProperty(String name, String value) { /** * @see BrowserlessApplicationContext.Builder#withApplicationProperties + * @since 25.3 */ public Builder withApplicationProperties( Map properties) { @@ -234,6 +236,7 @@ public Builder withApplicationProperties( /** * @see BrowserlessApplicationContext.Builder#withFeatureFlags(String...) + * @since 25.3 */ public Builder withFeatureFlags(String... featureIds) { base.withFeatureFlags(featureIds); @@ -242,6 +245,7 @@ public Builder withFeatureFlags(String... featureIds) { /** * @see BrowserlessApplicationContext.Builder#withFeatureFlags(Feature...) + * @since 25.3 */ public Builder withFeatureFlags(Feature... features) { base.withFeatureFlags(features); @@ -251,6 +255,7 @@ public Builder withFeatureFlags(Feature... features) { /** * @see BrowserlessApplicationContext.Builder#withFeatureFlag(String, * boolean) + * @since 25.3 */ public Builder withFeatureFlag(String featureId, boolean enabled) { base.withFeatureFlag(featureId, enabled); @@ -260,6 +265,7 @@ public Builder withFeatureFlag(String featureId, boolean enabled) { /** * @see BrowserlessApplicationContext.Builder#withFeatureFlag(Feature, * boolean) + * @since 25.3 */ public Builder withFeatureFlag(Feature feature, boolean enabled) { base.withFeatureFlag(feature, enabled); @@ -268,6 +274,7 @@ public Builder withFeatureFlag(Feature feature, boolean enabled) { /** * @see BrowserlessApplicationContext.Builder#withConfiguration + * @since 25.3 */ public Builder withConfiguration( BrowserlessConfiguration configuration) { diff --git a/shared/src/main/java/com/vaadin/browserless/TesterWrappers.java b/shared/src/main/java/com/vaadin/browserless/TesterWrappers.java index c3c9cd4d..1f8ada9a 100644 --- a/shared/src/main/java/com/vaadin/browserless/TesterWrappers.java +++ b/shared/src/main/java/com/vaadin/browserless/TesterWrappers.java @@ -180,6 +180,7 @@ default AccordionTester test(Accordion accordion) { * @param avatarGroup * the component to wrap * @return a tester for the given component + * @since 25.3 */ default AvatarGroupTester test(AvatarGroup avatarGroup) { return BaseBrowserlessTest.internalWrap(AvatarGroupTester.class, @@ -201,6 +202,7 @@ default ButtonTester