/* * DSS - Digital Signature Services * * Copyright (C) 2013 European Commission, Directorate-General Internal Market and Services (DG MARKT), B-1049 Bruxelles/Brussel * * Developed by: 2013 ARHS Developments S.A. (rue Nicolas Bové 2B, L-1253 Luxembourg) http://www.arhs-developments.com * * This file is part of the "DSS - Digital Signature Services" project. * * "DSS - Digital Signature Services" is free software: you can redistribute it and/or modify it under the terms of * the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the * License, or (at your option) any later version. * * DSS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with * "DSS - Digital Signature Services". If not, see <http://www.gnu.org/licenses/>. */ package eu.europa.ec.markt.dss.signature; import eu.europa.ec.markt.dss.validation102853.SignatureForm; /** * Signature profiles (form+level) handled by the SD-DSS framework. * * @version $Revision$ - $Date$ */ public enum SignatureLevel { XML_NOT_ETSI(null), XAdES_C(null), XAdES_X(null), XAdES_XL(null), XAdES_A(null), XAdES_BASELINE_LTA(null), XAdES_BASELINE_LT(XAdES_BASELINE_LTA), XAdES_BASELINE_T( XAdES_BASELINE_LT), XAdES_BASELINE_B(XAdES_BASELINE_T), CMS_NOT_ETSI(null), CAdES_BASELINE_LTA(null), CAdES_BASELINE_LT(CAdES_BASELINE_LTA), CAdES_BASELINE_T(CAdES_BASELINE_LT), CAdES_BASELINE_B(CAdES_BASELINE_T), CAdES_101733_C( null), CAdES_101733_X(null), CAdES_101733_A(null), PDF_NOT_ETSI(null), PAdES_BASELINE_LTA(null), PAdES_BASELINE_LT(PAdES_BASELINE_LTA), PAdES_BASELINE_T(PAdES_BASELINE_LT), PAdES_BASELINE_B(PAdES_BASELINE_T), PAdES_102778_LTV( PAdES_BASELINE_B), ASiC_S_BASELINE_LTA(null), ASiC_S_BASELINE_LT(ASiC_S_BASELINE_LTA), ASiC_S_BASELINE_T(ASiC_S_BASELINE_LT), ASiC_S_BASELINE_B(ASiC_S_BASELINE_T), ASiC_E_BASELINE_LTA(null), ASiC_E_BASELINE_LT(ASiC_E_BASELINE_LTA), ASiC_E_BASELINE_T(ASiC_E_BASELINE_LT), ASiC_E_BASELINE_B(ASiC_E_BASELINE_T); public final SignatureLevel upperLevel; private SignatureLevel(final SignatureLevel upperLevel) { this.upperLevel = upperLevel; } /** * Returns the SignatureLevel based on the name (String) * * @param name * @return */ public static SignatureLevel valueByName(String name) { return valueOf(name.replace("-", "_")); } @Override public String toString() { return super.toString().replace("_", "-"); } /** * @return the {@code SignatureForm} depending on the {@code SignatureLevel} */ public SignatureForm getSignatureForm() { switch (this) { case XML_NOT_ETSI: case XAdES_C: case XAdES_X: case XAdES_XL: case XAdES_A: case XAdES_BASELINE_LTA: case XAdES_BASELINE_LT: case XAdES_BASELINE_T: case XAdES_BASELINE_B: return SignatureForm.XAdES; case CMS_NOT_ETSI: case CAdES_BASELINE_LTA: case CAdES_BASELINE_LT: case CAdES_BASELINE_T: case CAdES_BASELINE_B: case CAdES_101733_A: case CAdES_101733_C: case CAdES_101733_X: return SignatureForm.CAdES; case PDF_NOT_ETSI: case PAdES_102778_LTV: case PAdES_BASELINE_B: case PAdES_BASELINE_LT: case PAdES_BASELINE_LTA: case PAdES_BASELINE_T: return SignatureForm.PAdES; case ASiC_S_BASELINE_B: case ASiC_S_BASELINE_T: case ASiC_S_BASELINE_LT: case ASiC_S_BASELINE_LTA: return SignatureForm.ASiC_S; case ASiC_E_BASELINE_B: case ASiC_E_BASELINE_T: case ASiC_E_BASELINE_LT: case ASiC_E_BASELINE_LTA: return SignatureForm.ASiC_E; default: return null; } } }