/* * Hibernate Validator, declare and validate application constraints * * License: Apache License, Version 2.0 * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>. */ package org.hibernate.validator.internal.metadata.aggregated; import java.util.List; import java.util.stream.Collectors; import org.hibernate.validator.internal.metadata.facets.Cascadable; import org.hibernate.validator.internal.metadata.facets.Validatable; import org.hibernate.validator.internal.util.CollectionHelper; import org.hibernate.validator.internal.util.stereotypes.Immutable; /** * Represents the constraint related meta data of the arguments of a method or * constructor. * * @author Gunnar Morling */ public class ValidatableParametersMetaData implements Validatable { @Immutable private final List<ParameterMetaData> parameterMetaData; @Immutable private final Iterable<Cascadable> cascadables; public ValidatableParametersMetaData(List<ParameterMetaData> parameterMetaData) { this.parameterMetaData = CollectionHelper.toImmutableList( parameterMetaData ); this.cascadables = CollectionHelper.toImmutableList( parameterMetaData.stream() .filter( p -> p.isCascading() ) .collect( Collectors.toList() ) ); } @Override public Iterable<Cascadable> getCascadables() { return cascadables; } }