package me.chyxion.tigon.codegen.model;

import java.util.Map;
import lombok.Getter;
import lombok.Setter;

/**
 * @version 0.0.1
 * @since 0.0.1
 * @author Shaun Chyxion <br>
 * chyxion@163.com <br>
 * May 11, 2016 7:31:30 PM
 */
@Getter
@Setter
public class CodeGenArgs {
    
    public static final String TARGET_MODEL = "MODEL";
    public static final String TARGET_MAPPER = "MAPPER";
    public static final String TARGET_MAPPER_XML = "MAPPER_XML";
    public static final String TARGET_MAPPER_TEST = "MAPPER_TEST";
    public static final String TARGET_SERVICE = "SERVICE";
    public static final String TARGET_SERVICE_SUPPORT = "SERVICE_SUPPORT";
    public static final String TARGET_CONTROLLER = "CONTROLLER";
    public static final String TARGET_CONTROLLER_TEST = "CONTROLLER_TEST";
    public static final String TARGET_TABLE = "TABLE";
    public static final String TARGET_VIEW = "VIEW";
        
    /**
     * gen target
     */
    private String target;
    /**
     * result file
     */
    private String file;
    /**
     * free marker template
     */
    private String ftl;
    /**
     * free marker data model
     */
    private Map<String, Object> model;

    /**
     * @param target target
     * @param ftl ftl
     * @param model model
     * @param file file
     */
    public CodeGenArgs(String target, String ftl, Map<String, Object> model, String file) {
        this.target = target;
        this.ftl = ftl;
        this.model = model;
        this.file = file;
    }
}
