/** * * @param string $ruleId * @param RuleCriteriaType $criteriaType */ function buildNewInstance($ruleId, $criteriaType) { $criteria = parent::buildNewInstance($ruleId, $criteriaType); $criteria->interval = 1; $criteria->intervalType = TimeUnit::from(TimeUnit::Month); return $criteria; }
/** * Given a sql source for gathering rule criteria (target or filter), this * method relies on its supplied subtype of RuleCriteriaFactory to parse out * instances of RuleCriteria from the sql source (typically rule_filter or * rule_target). * * Returns an array of RuleCriteria subtypes, if they were parsable from the * supplied sql source. * @param Rule $rule * @param RuleCriteriaFactory $factory */ private function gatherCriteria($rule, $stmt, $factory) { $criterion = array(); for ($iter = 0; $row = sqlFetchArray($stmt); $iter++) { $guid = $row['guid']; $method = $row['method']; $methodDetail = $row['method_detail']; $value = $row['value']; $inclusion = $row['include_flag'] == 1; $optional = $row['required_flag'] == 1; $groupId = $row['group_id']; $criteria = $factory->build($rule->id, $guid, $inclusion, $optional, $method, $methodDetail, $value); if (is_null($criteria)) { // unrecognized critera continue; } if (!is_null($groupId)) { $criteria->groupId = $groupId; } // else array_push($criterion, $criteria); } return $criterion; }