// This is the only the top-level grouping algorithm // It returns a dict with two values // an array of DRRecordGroups and a list of all the DRCriteria found // keys: 'groups', 'criteriaList': // public NSMutableDictionary childrenFromGroupCriteriaList() { DRCriteria crit; NSArray crits = _masterCriteria.criteriaLookupDict().allValues(); Enumeration anEnum = crits.objectEnumerator(); NSMutableDictionary recGrpDict = new NSMutableDictionary(); while (anEnum.hasMoreElements()) { crit = (DRCriteria) anEnum.nextElement(); DRRecordGroup recGrp = DRRecordGroup.withCriteriaGroupParent(crit, this, null); recGrpDict.setObjectForKey(recGrp, crit.keyDesc()); } return recGrpDict; }
public NSArray sortedCriteriaList() { if (_sortedArray == null) { _sortedArrayBase = EOSortOrdering.sortedArrayUsingKeyOrderArray(criteriaList(), _ordering); NSMutableArray sortedArray2 = new NSMutableArray(_sortedArrayBase); sortedArray2.addObject(DRCriteria.asTotalWithMasterCriteria(_masterCriteria)); _sortedArray = new NSArray(sortedArray2); } if (_useGroupTotal) { return _sortedArray; } return _sortedArrayBase; }