1
7 package org.hibernate.validator.internal.metadata.aggregated;
8
9 import java.util.List;
10 import java.util.stream.Collectors;
11
12 import org.hibernate.validator.internal.metadata.facets.Cascadable;
13 import org.hibernate.validator.internal.metadata.facets.Validatable;
14 import org.hibernate.validator.internal.util.CollectionHelper;
15 import org.hibernate.validator.internal.util.stereotypes.Immutable;
16
17
23 public class ValidatableParametersMetaData implements Validatable {
24
25 @Immutable
26 private final List<ParameterMetaData> parameterMetaData;
27
28 @Immutable
29 private final List<Cascadable> cascadables;
30
31 public ValidatableParametersMetaData(List<ParameterMetaData> parameterMetaData) {
32 this.parameterMetaData = CollectionHelper.toImmutableList( parameterMetaData );
33 this.cascadables = CollectionHelper.toImmutableList( parameterMetaData.stream()
34 .filter( p -> p.isCascading() )
35 .collect( Collectors.toList() ) );
36 }
37
38 @Override
39 public Iterable<Cascadable> getCascadables() {
40 return cascadables;
41 }
42
43 @Override
44 public boolean hasCascadables() {
45 return !cascadables.isEmpty();
46 }
47 }
48