user = $user; $this->language = $language; } /** * @param EchoEvent $event * @return string|bool Output format depends on implementation, false if it cannot be formatted */ final public function format( EchoEvent $event ) { $model = EchoEventPresentationModel::factory( $event, $this->language, $this->user ); if ( !$model->canRender() ) { return false; } return $this->formatModel( $model ); } /** * @param EchoEventPresentationModel $model * @return string */ abstract protected function formatModel( EchoEventPresentationModel $model ); }