From 43fa6d4f65b65a2a0ac1d7a37e4c5f74ad109e24 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Thu, 28 Aug 2025 10:45:38 +0200 Subject: [PATCH] HV-1831 Add missing javadocs to the new voter interfaces --- .../validator/BaseHibernateValidatorConfiguration.java | 8 ++++++++ .../spi/tracking/ProcessedBeansTrackingVoter.java | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java b/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java index dc0de55251..5db0cc56e5 100644 --- a/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java +++ b/engine/src/main/java/org/hibernate/validator/BaseHibernateValidatorConfiguration.java @@ -488,6 +488,14 @@ default S locales(Locale... locales) { @Incubating S failFastOnPropertyViolation(boolean failFastOnPropertyViolation); + /** + * Allows providing a custom bean tracking voter that helps to identify whether + * the processed beans have to be tracked when cascaded into. + * + * @param processedBeanTrackingVoter the {@link ProcessedBeansTrackingVoter bean tracking voter} to apply. + * @return {@code this} following the chaining method pattern + * @since 9.1 + */ @Incubating S processedBeansTrackingVoter(ProcessedBeansTrackingVoter processedBeanTrackingVoter); } diff --git a/engine/src/main/java/org/hibernate/validator/spi/tracking/ProcessedBeansTrackingVoter.java b/engine/src/main/java/org/hibernate/validator/spi/tracking/ProcessedBeansTrackingVoter.java index 14462de154..bd489b0a70 100644 --- a/engine/src/main/java/org/hibernate/validator/spi/tracking/ProcessedBeansTrackingVoter.java +++ b/engine/src/main/java/org/hibernate/validator/spi/tracking/ProcessedBeansTrackingVoter.java @@ -8,6 +8,14 @@ import org.hibernate.validator.Incubating; +/** + * Helps to determine whether the processed beans of a particular type have to be tracked + * when cascaded into. Used during metadata building step. + *

+ * The default voter returns {@link Vote#DEFAULT} which means that if the bean has any cascading properties, + * it will be considered as such that requires tracking, + * and if there are no cascading properties -- the bean tracking is ignored for this type. + */ @Incubating public interface ProcessedBeansTrackingVoter {