in core/src/main/java/org/apache/myfaces/extensions/validator/core/validation/parameter/DefaultValidationParameterExtractor.java [269:302]
private Object processFoundField(
Object instance, Field currentField, List<Object> paramValues, Object key, Class valueId)
{
Object newKey = null;
if(key == null && currentField.isAnnotationPresent(ParameterKey.class))
{
try
{
newKey = currentField.get(instance);
}
catch (Exception e)
{
this.logger.log(Level.WARNING, "invalid field", e);
}
}
//no "else if" to allow both at one field
if(currentField.isAnnotationPresent(ParameterValue.class))
{
if(valueId == null || valueId.equals(currentField.getAnnotation(ParameterValue.class).id()))
{
currentField.setAccessible(true);
try
{
paramValues.add(currentField.get(instance));
}
catch (Exception e)
{
this.logger.log(Level.WARNING, "invalid field", e);
}
}
}
return newKey != null ? newKey : key;
}