public class CustomParameterNameProvider implements ParameterNameProvider {
private final ParameterNameProvider nameProvider;
public CustomParameterNameProvider() {
nameProvider = Validation.byDefaultProvider().configure().getDefaultParameterNameProvider();
}
@Override
public String[] getParameterNames(final Constructor<?> constructor) {
return nameProvider.getParameterNames(constructor);
}
@Override
public String[] getParameterNames(final Method method) {
try {
final Method post = CustomConfigResource.class.getMethod("post", String.class, CustomBean.class);
if (method.equals(post)) {
return new String[] {"path", "beanParameter"};
}
} catch (NoSuchMethodException e) {
}
return nameProvider.getParameterNames(method);
}
}