org.hibernate.validator.internal.metadata.aggregated.ValidatableParametersMetaData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bean-validator Show documentation
Show all versions of bean-validator Show documentation
JSR 380's RI, Hibernate Validator version ${hibernate-validator.version} and its dependencies repackaged as OSGi bundle
/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or .
*/
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;
@Immutable
private final List cascadables;
public ValidatableParametersMetaData(List parameterMetaData) {
this.parameterMetaData = CollectionHelper.toImmutableList( parameterMetaData );
this.cascadables = CollectionHelper.toImmutableList( parameterMetaData.stream()
.filter( p -> p.isCascading() )
.collect( Collectors.toList() ) );
}
@Override
public Iterable getCascadables() {
return cascadables;
}
@Override
public boolean hasCascadables() {
return !cascadables.isEmpty();
}
}