package com.capgemini.reports;

import lombok.Getter;

/** Enumeration of the different Jasper's templates. */
@Getter
public enum JasperTemplate {

    // Some useful file locations
    /** The template of the R01 report. */
    TEMPLATE_R01("/Jasper/template/report_r01.jrxml"),
    /** The template of the R03 report. */
    TEMPLATE_R03("/Jasper/template/report_r03.jrxml"),
    /** The template of the R10 report. */
    TEMPLATE_R10("/Jasper/template/report_r10.jrxml"),
    /** The template of the R11 report. */
    TEMPLATE_R11("/Jasper/template/report_r11.jrxml"),
    /** The template of the R13 report for a CR object. */
    TEMPLATE_R13_CR("/Jasper/template/report_r13/report_r13_cr.jrxml"),
    /** The template of the R13 report fro a FPP object. */
    TEMPLATE_R13_FPP("/Jasper/template/report_r13/report_r13_fpp.jrxml"),
    /** The template of the R15 and R16 reports. */
    TEMPLATE_R15R16("/Jasper/template/report_r15r16.jrxml"),
    /** The template of the R17 report. */
    TEMPLATE_R17("/Jasper/template/report_r17.jrxml"),
    /** The template of the R19 report. */
    TEMPLATE_R19("/Jasper/template/report_r19.jrxml"),
    // Template R20 resource files
    /** The template of the R20 report, page 1. */
    TEMPLATE_R20_PAGE1("/Jasper/template/report_r20/report_r20_p1.jrxml"),
    /** The template of the R20 report, page 2 master. */
    TEMPLATE_R20_PAGE2("/Jasper/template/report_r20/report_r20_p2.jrxml"),
    /** The template of the R20 report, page 4. */
    TEMPLATE_R20_PAGE4("/Jasper/template/report_r20/report_r20_p4.jrxml"),
    /** The template of the R20 report, page 2 part 1. */
    TEMPLATE_R20_PAGE2_GENERIC("/Jasper/template/report_r20/page2/r20_p2_generics.jrxml"),
    /** The template of the R20 report, page 2 part 2. */
    TEMPLATE_R20_PAGE2_IMPACTS("/Jasper/template/report_r20/page2/r20_p2_impacts.jrxml"),
    /** The template of the R20 report, page 2 part 3. */
    TEMPLATE_R20_PAGE2_NOIMPACTS("/Jasper/template/report_r20/page2/r20_p2_noimpacts.jrxml"),
    /** The Master template of the R20 report. */
    TEMPLATE_R20_MASTER("/Jasper/template/report_r20/report_r20_master.jrxml"),
    /** The template of the R21 report. */
    TEMPLATE_R21("/Jasper/template/report_r21.jrxml"),
    /** The template of the R22 report. */
    TEMPLATE_R22("/Jasper/template/report_r22.jrxml"),
    /** The template of the R23 report. */
    TEMPLATE_R23("/Jasper/template/report_r23.jrxml"),
    /** The template of the R24 report. */
    TEMPLATE_R24("/Jasper/template/report_r24.jrxml"),
	/** The template of the R25 report. */
	TEMPLATE_R25("/Jasper/template/report_r25.jrxml"),
    /** The Master template of the R26 report. */
    TEMPLATE_R26_MASTER("/Jasper/template/report_r26/report_r26_master.jrxml"),
    /** The sub report template of the R26 report. */
    TEMPLATE_R26_SUBREPORT("/Jasper/template/report_r26/report_r26_subreport.jrxml"),
    /** The template of the R27 report. */
    TEMPLATE_R27("/Jasper/template/report_r27.jrxml"),
    /** The template of the R28 report. */
    TEMPLATE_R28("/Jasper/template/report_r28.jrxml");


    private final String filepath;

    JasperTemplate(final String filepath) {
        this.filepath = filepath;
    }
}
