@@ -125,31 +125,11 @@ private ExecutableMetaData(
125
125
126
126
Vote processedBeansTrackingVoteForParameters = processedBeansTrackingVoter .isEnabledForParameters ( beanClass , name , parameterTypes ,
127
127
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 );
139
129
140
130
Vote processedBeansTrackingVoteForReturnValue = processedBeansTrackingVoter .isEnabledForReturnValue ( beanClass , name , parameterTypes ,
141
131
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 );
153
133
}
154
134
155
135
public ExecutableMetaData (ExecutableMetaData originalExecutableMetaData ,
@@ -169,43 +149,31 @@ public ExecutableMetaData(ExecutableMetaData originalExecutableMetaData,
169
149
170
150
Vote processedBeansTrackingVoteForParameters = processedBeansTrackingVoter .isEnabledForParameters ( originalExecutableMetaData .beanClass ,
171
151
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 ) );
189
154
190
155
Vote processedBeansTrackingVoteForReturnValue = processedBeansTrackingVoter .isEnabledForReturnValue ( originalExecutableMetaData .beanClass ,
191
156
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 () );
208
175
}
176
+ return trackingEnabledForReturnValue ;
209
177
}
210
178
211
179
/**
0 commit comments