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.OptionalLong;
10
11 import javax.validation.valueextraction.ExtractedValue;
12 import javax.validation.valueextraction.UnwrapByDefault;
13 import javax.validation.valueextraction.ValueExtractor;
14
15 /**
16  * @author Guillaume Smet
17  */

18 @UnwrapByDefault
19 class OptionalLongValueExtractor implements ValueExtractor<@ExtractedValue(type = Long.class) OptionalLong> {
20
21     static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new OptionalLongValueExtractor() );
22
23     @Override
24     public void extractValues(OptionalLong originalValue, ValueReceiver receiver) {
25         receiver.value( null, originalValue.isPresent() ? originalValue.getAsLong() : null );
26     }
27 }
28