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.Map;
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 MapKeyExtractor implements ValueExtractor<Map<@ExtractedValue ?, ?>> {
17
18     static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new MapKeyExtractor() );
19
20     private MapKeyExtractor() {
21     }
22
23     @Override
24     public void extractValues(Map<?, ?> originalValue, ValueReceiver receiver) {
25         for ( Map.Entry<?, ?> entry : originalValue.entrySet() ) {
26             receiver.keyedValue( NodeImpl.MAP_KEY_NODE_NAME, entry.getKey(), entry.getKey() );
27         }
28     }
29 }
30