1919import io .cloudevents .CloudEvent ;
2020import io .cloudevents .core .validator .CloudEventValidator ;
2121
22- import java .util .Iterator ;
23- import java .util .ServiceConfigurationError ;
22+ import java .util .ArrayList ;
23+ import java .util .Collection ;
2424import java .util .ServiceLoader ;
2525
2626/**
@@ -30,10 +30,14 @@ public class CloudEventValidatorProvider {
3030
3131 private static final CloudEventValidatorProvider cloudEventValidatorProvider = new CloudEventValidatorProvider ();
3232
33- private final ServiceLoader <CloudEventValidator > loader ;
33+ private final Collection <CloudEventValidator > validators ;
3434
35- private CloudEventValidatorProvider (){
36- loader = ServiceLoader .load (CloudEventValidator .class );
35+ private CloudEventValidatorProvider () {
36+ final ServiceLoader <CloudEventValidator > loader = ServiceLoader .load (CloudEventValidator .class );
37+ this .validators = new ArrayList <>(2 );
38+ for (CloudEventValidator cloudEventValidator : loader ) {
39+ validators .add (cloudEventValidator );
40+ }
3741 }
3842
3943 public static CloudEventValidatorProvider getInstance () {
@@ -42,10 +46,11 @@ public static CloudEventValidatorProvider getInstance() {
4246
4347 /**
4448 * iterates through available Cloudevent validators.
45- * @param cloudEvent
49+ *
50+ * @param cloudEvent event to validate.
4651 */
47- public void validate (CloudEvent cloudEvent ){
48- for (final CloudEventValidator validator : loader ) {
52+ public void validate (CloudEvent cloudEvent ) {
53+ for (final CloudEventValidator validator : validators ) {
4954 validator .validate (cloudEvent );
5055 }
5156 }
0 commit comments