<?php
/**
 * Column Configuration Interface
 * 
 * @author Elze Kool <info@visualmedia.nl>
 */

namespace VisualM\ManagementBundle\AdminList\Column;

/**
 * Column Configuration Interface
 *
 * @author Elze Kool <info@visualmedia.nl>
 */
interface ColumnConfigurationInterface
{
    
    /**
     * Get Field Name
     * 
     * @return string
     */
    public function getField();
    
    /**
     * Get Title 
     * 
     * @return string
     */
    public function getTitle();

    /**
     * Get Sortable 
     * 
     * @return boolean
     */
    public function getSortable();

    /**
     * Get Item Template
     * 
     * @return string Item Template
     */
    public function getItemTemplate();

    /**
     * Get Header Template
     * 
     * @return string Header Template
     */
    public function getHeaderTemplate();

    /**
     * Get Footer Template
     * 
     * @return string Footer Template
     */
    public function getFooterTemplate();
        
    /**
     * Get Class for Item <td>
     * 
     * @return string
     */
    public function getItemClass();
    
    
    /**
     * Get Class for Header <th>
     * 
     * @return string
     */
    public function getHeaderClass();
    
    /**
     * Get Class for Footer <th>
     * 
     * @return string
     */
    public function getFooterClass();
    
}