* @param classMappingIds The mapping IDs of the class this method belongs to
*/
private void processFieldAnnotations(Field field, String[] classMappingIds)
{
// Is there a @URLQueryParameter annotation?
URLQueryParameter queryParamAnnotation = field.getAnnotation(URLQueryParameter.class);
if (queryParamAnnotation != null)
{
// create a QueryParamSpec from the annotation
QueryParamSpec queryParam = new QueryParamSpec();
queryParam.setFieldName(field.getName());
queryParam.setOwnerClass(field.getDeclaringClass());
queryParam.setName(queryParamAnnotation.value());
queryParam.setOnPostback(queryParamAnnotation.onPostback());
// check which mapping the action belongs to
if (!isBlank(queryParamAnnotation.mappingId()))
{
// action belongs to the mapping mentioned with mappingId attribute
queryParam.setMappingIds(new String[] { queryParamAnnotation.mappingId().trim() });
}
else if (classMappingIds != null && classMappingIds.length > 0)
{
// use the mappings found on the class
queryParam.setMappingIds(classMappingIds);