/** * {@inheritDoc} */ @Override public List<ParameterContentData> getParameterContentData(List<PropertyPathStart> propertyAccessorList, Object clazz, Object[] parameters, Object returnValue, boolean exception) { List<ParameterContentData> parameterContentData = new ArrayList<ParameterContentData>(); for (PropertyPathStart start : propertyAccessorList) { try { String content = this.getPropertyContent(start, clazz, parameters, returnValue, exception); ParameterContentData paramContentData = new ParameterContentData(); paramContentData.setContent(content); paramContentData.setContentType(start.getContentType()); paramContentData.setName(start.getName()); paramContentData.setSignaturePosition(start.getSignaturePosition()); parameterContentData.add(paramContentData); } catch (PropertyAccessException e) { if (log.isErrorEnabled()) { log.error("Cannot access the property: " + start + " for class " + clazz + ". Will be removed from the list to prevent further errors! (" + e.getMessage() + ")"); } propertyAccessorList.remove(start); // iterator.remove(); // Unsupported exception. Iterator can't make changes, since // iterating over a snapshot. } } return parameterContentData; }
if (propertyPathStart.getSignaturePosition() >= parameters.length) { throw new PropertyAccessException("Signature position out of range!"); return getPropertyContent(propertyPathStart.getPathToContinue(), parameters[propertyPathStart.getSignaturePosition()]); case RETURN: