<?php
/**
 * Action Interface
 * 
 * Interface to where Actions for the ActionsColumn should adhere to
 * 
 * @author Elze Kool <info@visualmedia.nl>
 */

namespace VisualM\ManagementBundle\AdminList\Column\Action;

/**
 * Action Interface
 *
 * @author Elze Kool <info@visualmedia.nl>
 */
interface ActionInterface
{
    /**
     * Get Route for Action
     * 
     * @param object $item Item
     * 
     * @return string Route
     */
    public function getRoute($item);
    
    /**
     * Get Parameters for Action
     * 
     * @param object $item Item
     * 
     * @return array Parameters
     */
    public function getParameters($item);
    
    /**
     * Get Glyphicon Class for Action
     * 
     * @param object $item Item
     * 
     * @return string Glyphicon Class
     */
    public function getGlyphicon($item);
    
    /**
     * Get Button Class for Action
     * 
     * @param object $item Item
     * 
     * @return string Button Class
     */
    public function getClass($item);
    
    /**
     * Get Title for Action
     * 
     * @param object $item Item
     * 
     * @return string Title
     */
    public function getTitle($item);

    /**
     * Is Action an Primary Action
     *
     * @return boolean Action is primary action
     */
    public function isPrimaryAction();

    
}