/** * @return Gpf_Recurrence_Setting */ public static function getRecurrenceSetting(Gpf_Db_RecurrenceSetting $recurrenceSetting) { switch ($recurrenceSetting->getType()) { case Gpf_Db_RecurrenceSetting::TYPE_ONCE: return new Gpf_Recurrence_Setting_Once($recurrenceSetting); case Gpf_Db_RecurrenceSetting::TYPE_EACH: return new Gpf_Recurrence_Setting_Repeating($recurrenceSetting); case Gpf_Db_RecurrenceSetting::TYPE_HOUR: return new Gpf_Recurrence_Setting_Hour($recurrenceSetting); case Gpf_Db_RecurrenceSetting::TYPE_DAY: return new Gpf_Recurrence_Setting_Day($recurrenceSetting); case Gpf_Db_RecurrenceSetting::TYPE_WEEK: return new Gpf_Recurrence_Setting_Week($recurrenceSetting); case Gpf_Db_RecurrenceSetting::TYPE_MONTH: return new Gpf_Recurrence_Setting_Month($recurrenceSetting); case Gpf_Db_RecurrenceSetting::TYPE_YEAR: return new Gpf_Recurrence_Setting_Year($recurrenceSetting); } return null; }