@@ -125,31 +125,11 @@ private ExecutableMetaData(
125125
126126 Vote processedBeansTrackingVoteForParameters = processedBeansTrackingVoter .isEnabledForParameters ( beanClass , name , parameterTypes ,
127127 validatableParametersMetaData .hasCascadables () );
128- switch ( processedBeansTrackingVoteForParameters ) {
129- case NON_TRACKING :
130- this .trackingEnabledForParameters = false ;
131- break ;
132- case TRACKING :
133- this .trackingEnabledForParameters = true ;
134- break ;
135- default :
136- this .trackingEnabledForParameters = validatableParametersMetaData .hasCascadables ();
137- break ;
138- }
128+ this .trackingEnabledForParameters = Vote .voteToTracking ( processedBeansTrackingVoteForParameters , validatableParametersMetaData ::hasCascadables );
139129
140130 Vote processedBeansTrackingVoteForReturnValue = processedBeansTrackingVoter .isEnabledForReturnValue ( beanClass , name , parameterTypes ,
141131 returnValueMetaData .hasCascadables () );
142- switch ( processedBeansTrackingVoteForReturnValue ) {
143- case NON_TRACKING :
144- this .trackingEnabledForReturnValue = false ;
145- break ;
146- case TRACKING :
147- this .trackingEnabledForReturnValue = true ;
148- break ;
149- default :
150- this .trackingEnabledForReturnValue = returnValueMetaData .hasCascadables ();
151- break ;
152- }
132+ this .trackingEnabledForReturnValue = Vote .voteToTracking ( processedBeansTrackingVoteForReturnValue , returnValueMetaData ::hasCascadables );
153133 }
154134
155135 public ExecutableMetaData (ExecutableMetaData originalExecutableMetaData ,
@@ -169,43 +149,31 @@ public ExecutableMetaData(ExecutableMetaData originalExecutableMetaData,
169149
170150 Vote processedBeansTrackingVoteForParameters = processedBeansTrackingVoter .isEnabledForParameters ( originalExecutableMetaData .beanClass ,
171151 originalExecutableMetaData .getName (), parameterTypes , originalExecutableMetaData .getValidatableParametersMetaData ().hasCascadables () );
172- switch ( processedBeansTrackingVoteForParameters ) {
173- case NON_TRACKING :
174- this .trackingEnabledForParameters = false ;
175- break ;
176- case TRACKING :
177- this .trackingEnabledForParameters = true ;
178- break ;
179- default :
180- boolean trackingEnabledForParameters = false ;
181- for ( Signature signature : originalExecutableMetaData .getSignatures () ) {
182- trackingEnabledForParameters = trackingEnabledForParameters
183- || processedBeansTrackingStrategy .isEnabledForParameters ( signature ,
184- originalExecutableMetaData .getValidatableParametersMetaData ().hasCascadables () );
185- }
186- this .trackingEnabledForParameters = trackingEnabledForParameters ;
187- break ;
188- }
152+ this .trackingEnabledForParameters =
153+ Vote .voteToTracking ( processedBeansTrackingVoteForParameters , () -> originalExecutableMetaData .trackingEnabledForParameters ( processedBeansTrackingStrategy ) );
189154
190155 Vote processedBeansTrackingVoteForReturnValue = processedBeansTrackingVoter .isEnabledForReturnValue ( originalExecutableMetaData .beanClass ,
191156 originalExecutableMetaData .getName (), parameterTypes , originalExecutableMetaData .getReturnValueMetaData ().hasCascadables () );
192- switch ( processedBeansTrackingVoteForReturnValue ) {
193- case NON_TRACKING :
194- this .trackingEnabledForReturnValue = false ;
195- break ;
196- case TRACKING :
197- this .trackingEnabledForReturnValue = true ;
198- break ;
199- default :
200- boolean trackingEnabledForReturnValue = false ;
201- for ( Signature signature : originalExecutableMetaData .getSignatures () ) {
202- trackingEnabledForReturnValue = trackingEnabledForReturnValue
203- || processedBeansTrackingStrategy .isEnabledForReturnValue ( signature ,
204- originalExecutableMetaData .getReturnValueMetaData ().hasCascadables () );
205- }
206- this .trackingEnabledForReturnValue = trackingEnabledForReturnValue ;
207- break ;
157+ this .trackingEnabledForReturnValue =
158+ Vote .voteToTracking ( processedBeansTrackingVoteForReturnValue , () -> originalExecutableMetaData .trackingEnabledForReturnValue ( processedBeansTrackingStrategy ) );
159+ }
160+
161+ private boolean trackingEnabledForParameters (ProcessedBeansTrackingStrategy processedBeansTrackingStrategy ) {
162+ boolean trackingEnabledForParameters = false ;
163+ for ( Signature signature : getSignatures () ) {
164+ trackingEnabledForParameters = trackingEnabledForParameters
165+ || processedBeansTrackingStrategy .isEnabledForParameters ( signature , getValidatableParametersMetaData ().hasCascadables () );
166+ }
167+ return trackingEnabledForParameters ;
168+ }
169+
170+ private boolean trackingEnabledForReturnValue (ProcessedBeansTrackingStrategy processedBeansTrackingStrategy ) {
171+ boolean trackingEnabledForReturnValue = false ;
172+ for ( Signature signature : getSignatures () ) {
173+ trackingEnabledForReturnValue = trackingEnabledForReturnValue
174+ || processedBeansTrackingStrategy .isEnabledForReturnValue ( signature , getReturnValueMetaData ().hasCascadables () );
208175 }
176+ return trackingEnabledForReturnValue ;
209177 }
210178
211179 /**
0 commit comments