1 /*
2  * Hibernate Validator, declare and validate application constraints
3  *
4  * License: Apache License, Version 2.0
5  * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
6  */

7 package org.hibernate.validator.internal.engine.valueextraction;
8
9 import java.util.List;
10
11 import javax.validation.valueextraction.ExtractedValue;
12 import javax.validation.valueextraction.ValueExtractor;
13
14 import org.hibernate.validator.internal.engine.path.NodeImpl;
15
16 class ListValueExtractor implements ValueExtractor<List<@ExtractedValue ?>> {
17
18     static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new ListValueExtractor() );
19
20     private ListValueExtractor() {
21     }
22
23     @Override
24     public void extractValues(List<?> originalValue, ValueReceiver receiver) {
25         for ( int i = 0; i < originalValue.size(); i++ ) {
26             receiver.indexedValue( NodeImpl.LIST_ELEMENT_NODE_NAME, i, originalValue.get( i ) );
27         }
28     }
29 }
30