public function setAction(AbstractAction $action) : DateTime
    {
        $this->action = $action;
        $this->action->setDateTime($this);
        return $this;
    }
public function setAction(AbstractAction $action) : DateTime
    {
        $this->action = $action;
        $this->action->setDateTime($this);
        return $this;
    }
public function setAction ( AbstractAction $ action ) : DateTime { $ this -> action = $ action ; $ this -> action -> setDateTime ( $ this ) ; return $ this ; }
Set strategy pattern action for modification array.
Action callable object resieves whole array in container and return array ro replace.

@param AbstractAction $action
@return $this
Set strategy pattern action for modification array . Action callable object resieves whole array in container and return array ro replace .