/** * Iterate over the sourceObject's reference objects, * updating the visited stack appropriately. */ protected void iterateReferenceObjects(Object sourceObject) { getVisitedStack().push(sourceObject); getCurrentDescriptor().getObjectBuilder().iterate(this); getVisitedStack().pop(); }
if ((getCurrentDescriptor() != null) && (!shouldCascadeNoParts()) && !this.shouldBreak()) { iterateReferenceObjects(sourceObject);
if ((getCurrentDescriptor() != null) && (!shouldCascadeNoParts()) && !this.shouldBreak()) { iterateReferenceObjects(sourceObject);
/** * This is the root method called to start the iteration. */ public void startIterationOn(Object sourceObject) { if (getVisitedObjects().containsKey(sourceObject)) { return; } getVisitedObjects().put(sourceObject, sourceObject); setCurrentMapping(null); setCurrentDescriptor(getSession().getDescriptor(sourceObject)); iterate(sourceObject); // start the recursion if ((getCurrentDescriptor() != null) && (!shouldCascadeNoParts()) && !this.shouldBreak()) { iterateReferenceObjects(sourceObject); } }
mappings = getCurrentDescriptor().getObjectBuilder().getDescriptor().getMappings(); } else { ObjectBuilder builder = getCurrentDescriptor().getObjectBuilder().getDescriptor().getObjectBuilder(); if(getCurrentDescriptor().hasFetchGroupManager()) { FetchGroup fetchGroup = getCurrentDescriptor().getFetchGroupManager().getObjectFetchGroup(sourceObject); if (fetchGroup != null) { List<DatabaseMapping> fetchGroupMappings = new ArrayList();
mappings = getCurrentDescriptor().getObjectBuilder().getDescriptor().getMappings(); } else { ObjectBuilder builder = getCurrentDescriptor().getObjectBuilder().getDescriptor().getObjectBuilder(); if(getCurrentDescriptor().hasFetchGroupManager()) { FetchGroup fetchGroup = getCurrentDescriptor().getFetchGroupManager().getObjectFetchGroup(sourceObject); if (fetchGroup != null) { List<DatabaseMapping> fetchGroupMappings = new ArrayList();