/** * @return DuplicateCriterion */ public static function createCriterion($typeID, array $matches) { if ($typeID === DuplicateIndexType::PERSON) { return DuplicatePersonCriterion::createFromMatches($matches); } elseif ($typeID === DuplicateIndexType::ORGANIZATION) { return DuplicateOrganizationCriterion::createFromMatches($matches); } elseif ($typeID === DuplicateIndexType::COMMUNICATION_PHONE || $typeID === DuplicateIndexType::COMMUNICATION_EMAIL) { return DuplicateCommunicationCriterion::createFromMatches($matches); } else { throw new Main\NotSupportedException("Criterion type(s): '" . DuplicateIndexType::resolveName($typeID) . "' is not supported in current context"); } }
/** * @return DuplicateCriterion */ protected function createCriterionFromMatches(array $matches) { return DuplicateCommunicationCriterion::createFromMatches($matches); }