private Object getDeepSrcFieldValue(Object srcObj) { // follow deep field hierarchy. If any values are null along the way, then return null Object parentObj = srcObj; Object hierarchyValue = parentObj; DeepHierarchyElement[] hierarchy = getDeepFieldHierarchy(srcObj, srcDeepIndexHintContainer); int size = hierarchy.length; for (int i = 0; i < size; i++) { DeepHierarchyElement hierarchyElement = hierarchy[i]; PropertyDescriptor pd = hierarchyElement.getPropDescriptor(); // If any fields in the deep hierarchy are indexed, get actual value within the collection at the specified index if (hierarchyElement.getIndex() > -1) { hierarchyValue = MappingUtils.getIndexedValue(ReflectionUtils.invoke(pd.getReadMethod(), hierarchyValue, null), hierarchyElement.getIndex()); } else { hierarchyValue = ReflectionUtils.invoke(pd.getReadMethod(), parentObj, null); } parentObj = hierarchyValue; if (hierarchyValue == null) { break; } } // If dest field is indexed, get actual value within the collection at the specified index if (isIndexed) { hierarchyValue = MappingUtils.getIndexedValue(hierarchyValue, index); } return hierarchyValue; }
protected void writeDeepDestinationValue(Object destObj, Object destFieldValue, FieldMap fieldMap) { DeepHierarchyElement[] hierarchy = getDeepFieldHierarchy(destObj, fieldMap.getDestDeepIndexHintContainer());
DeepHierarchyElement[] hierarchy = getDeepFieldHierarchy(srcObj, deepIndexHintContainer); int hierarchyLength = hierarchy.length;
DeepHierarchyElement[] hierarchy = getDeepFieldHierarchy(srcObj, deepIndexHintContainer); int hierarchyLength = hierarchy.length;
protected void writeDeepDestinationValue(Object destObj, Object destFieldValue, FieldMap fieldMap) { DeepHierarchyElement[] hierarchy = getDeepFieldHierarchy(destObj, fieldMap.getDestDeepIndexHintContainer());
protected void writeDeepDestinationValue(Object destObj, Object destFieldValue, FieldMap fieldMap) { DeepHierarchyElement[] hierarchy = getDeepFieldHierarchy(destObj, fieldMap.getDestDeepIndexHintContainer());