1
7 package org.hibernate.validator.internal.engine;
8
9 import java.lang.reflect.Constructor;
10 import java.lang.reflect.Executable;
11 import java.lang.reflect.Method;
12 import java.lang.reflect.Parameter;
13 import java.util.ArrayList;
14 import java.util.Collections;
15 import java.util.List;
16
17 import javax.validation.ParameterNameProvider;
18
19
26 public class DefaultParameterNameProvider implements ParameterNameProvider {
27
28 @Override
29 public List<String> getParameterNames(Constructor<?> constructor) {
30 return doGetParameterNames( constructor );
31 }
32
33 @Override
34 public List<String> getParameterNames(Method method) {
35 return doGetParameterNames( method );
36 }
37
38 private List<String> doGetParameterNames(Executable executable) {
39 Parameter[] parameters = executable.getParameters();
40 List<String> parameterNames = new ArrayList<>( parameters.length );
41
42 for ( Parameter parameter : parameters ) {
43 parameterNames.add( parameter.getName() );
44 }
45
46 return Collections.unmodifiableList( parameterNames );
47 }
48 }
49