19
19
import io .cloudevents .CloudEvent ;
20
20
import io .cloudevents .core .validator .CloudEventValidator ;
21
21
22
- import java .util .Iterator ;
23
- import java .util .ServiceConfigurationError ;
22
+ import java .util .ArrayList ;
23
+ import java .util .Collection ;
24
24
import java .util .ServiceLoader ;
25
25
26
26
/**
@@ -30,10 +30,14 @@ public class CloudEventValidatorProvider {
30
30
31
31
private static final CloudEventValidatorProvider cloudEventValidatorProvider = new CloudEventValidatorProvider ();
32
32
33
- private final ServiceLoader <CloudEventValidator > loader ;
33
+ private final Collection <CloudEventValidator > validators ;
34
34
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
+ }
37
41
}
38
42
39
43
public static CloudEventValidatorProvider getInstance () {
@@ -42,10 +46,11 @@ public static CloudEventValidatorProvider getInstance() {
42
46
43
47
/**
44
48
* iterates through available Cloudevent validators.
45
- * @param cloudEvent
49
+ *
50
+ * @param cloudEvent event to validate.
46
51
*/
47
- public void validate (CloudEvent cloudEvent ){
48
- for (final CloudEventValidator validator : loader ) {
52
+ public void validate (CloudEvent cloudEvent ) {
53
+ for (final CloudEventValidator validator : validators ) {
49
54
validator .validate (cloudEvent );
50
55
}
51
56
}
0 commit comments