package com.capgemini.reports.definition.r20report.visitors;

/**
 * Keys for R20 report.
 */
public enum R20Keys {
    SUBREPORT_P1,
    SUBREPORT_P2,
    SNECMA_LOGO,
    PRODUIT,
    UNIT_AVANT,
    UNIT_APRES,
    EXCEPTIONNEL_AVANT,
    EXCEPTIONNEL_APRES,
    DOMAINE_PRODUIT_AVANT,
    DOMAINE_PRODUIT_APRES,
    LIGNE_PRODUIT_AVANT,
    LIGNE_PRODUIT_APRES,
    MATRICULE_MOTEUR,
    IDENTIFIANT_DOC_GEL_UNIT_APRES,
    INDICE_DOCUMENT_GEL_UNIT_APRES,
    CLASSE,
    MAJEUR_MINEUR,
    CONJOINT_UNIQUE,
    NOM_CREATEUR_WORKFLOW,
    NOM_APPROBATEUR_TACHE,
    DATE_CREATION,
    DATE_VALIDATION,
    IS_CR_LIST_EMPTY;

    /**
     * Keys for the Page1 of the R20 report.
     */
    public enum Page1 {
        CHANGE_REQUEST_APPLI,
        CHANGE_REQUEST_ID,
        CHANGE_REQUEST_NOM,
        CHANGE_REQUEST_NO_APPRO_SO
    }

    /**
     * Keys for the Page2 of the R20 report.
     */
    public enum Page2 {
        SUBREPORT_NOIMPACTS,
        SUBREPORT_IMPACTS,
        SUBREPORT_GENERIC;

        /**
         * Keys for the Generics-Part relationship, in the Page2 of the R20 report.
         */
        public enum Generics {
            GENERIC_AVEC_RUPTURE,
            ID_PART_AVANT,
            ID_PART_APRES
        }

        /**
         * Keys for the Generics with Rupture, in the Page2 of the R20 report.
         */
        public enum Impacts {
            NOM_GENERIC,
            LIST_MODIFICATIONS_GENERIC
        }

        /**
         * Keys for the Generics without rupture, in the Page2 of the R20 report.
         */
        public enum NoImpacts {
            NOM_GENERIC,
            LIST_MODIFICATIONS_GENERIC
        }
    }

    /**
     * Keys for the Page4 of the R20 report.
     */
    public enum Page4 {
        NOM_GENERIQUE,
        IMPACT_PN,
        ID_PART_AVANT,
        ID_PART_APRES
    }
}
