<?php
/**
 * Created by PhpStorm.
 * User: jirislav
 * Date: 7.5.17
 * Time: 20:32
 */

namespace App\Http\Controllers;


/**
 * Interface ViewFeederAwareController
 * @package App\Http\Controllers
 */
interface ViewFeederAwareController
{

    /**
     * Gets the name of the router to be used from the view.
     *
     * @return string
     */
    public static function getRouterName(): string;

    /**
     * Returns singular of object controller is working with.
     *
     * @return string
     */
    public function getSingular(): string;

    /**
     * Returns plural of object controller is working with.
     *
     * @return string
     */
    public function getPlural(): string;

    /**
     * Returns array of columns to be shown when listing objects controller is working with.
     *
     * @return array
     */
    public function getColumns(): array;
}