package me.chyxion.tigon.codegen.service;

import java.util.List;
import java.util.Map;
import me.chyxion.tigon.codegen.controller.CodeGenController.GenForm;

/**
 * @version 0.0.1
 * @since 0.0.1
 * @author Shaun Chyxion <br>
 * chyxion@163.com <br>
 * Oct 6, 2014 1:08:14 PM
 */
public interface CodeGenService {
    /**
     * process code generation
     * @param module
     * @param model
     * @param cols
     * @param table
     * @param form 
     */
    void process(String module, String model, List<?> cols, String table, GenForm form);

    /**
     * list generated items
     * @return items list
     */
    List<?> list();

    /**
     * list tables
     * @return
     */
    List<Map<String, Object>> tables();

    /**
     * delete items
     * @param items
     */
    void delete(List<?> items, boolean dropTable);
}
