<?php
interface Core_Exception_Interface
{
    /**
     * @param array $params
     *
     * @return Core_Exception
     */
    public function setParams(array $params);

    /**
     * @param string $name  Param name
     * @param mixed  $value Param value
     *
     * @return Core_Exception
     */
    public function setParam($name, $value);

    /**
     * @return array
     */
    public function getParams();

    /**
     * @param string $name
     *
     * @return bool
     */
    public function hasParam($name);

    /**
     * @param string $name
     *
     * @return mixed
     */
    public function getParam($name);

    /**
     * @param string $type
     *
     * @return Core_Exception
     */
    public function setType($type);

    /**
     * @return string
     */
    public function getType();
}