es.mityc.firmaJava.libreria.xades.elementos.EncodingEnum.java Source code

Java tutorial

Introduction

Here is the source code for es.mityc.firmaJava.libreria.xades.elementos.EncodingEnum.java

Source

/**
 * LICENCIA LGPL:
 * 
 * Esta librera es Software Libre; Usted puede redistribuirlo y/o modificarlo
 * bajo los trminos de la GNU Lesser General Public License (LGPL)
 * tal y como ha sido publicada por la Free Software Foundation; o
 * bien la versin 2.1 de la Licencia, o (a su eleccin) cualquier versin posterior.
 * 
 * Esta librera se distribuye con la esperanza de que sea til, pero SIN NINGUNA
 * GARANT?A; tampoco las implcitas garantas de MERCANTILIDAD o ADECUACIN A UN
 * PROPSITO PARTICULAR. Consulte la GNU Lesser General Public License (LGPL) para ms
 * detalles
 * 
 * Usted debe recibir una copia de la GNU Lesser General Public License (LGPL)
 * junto con esta librera; si no es as, escriba a la Free Software Foundation Inc.
 * 51 Franklin Street, 5 Piso, Boston, MA 02110-1301, USA.
 * 
 */
package es.mityc.firmaJava.libreria.xades.elementos;

import java.net.URI;
import java.net.URISyntaxException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * @author  Ministerio de Industria, Turismo y Comercio
 * @version 1.0
 */
public enum EncodingEnum {

    DER_ENCODED("http://uri.etsi.org/01903/v1.2.2#DER"), BER_ENCODED(
            "http://uri.etsi.org/01903/v1.2.2#BER"), CER_ENCODED(
                    "http://uri.etsi.org/01903/v1.2.2#CER"), PER_ENCODED(
                            "http://uri.etsi.org/01903/v1.2.2#PER"), XER_ENCODED(
                                    "http://uri.etsi.org/01903/v1.2.2#XER");

    private final static Log logger = LogFactory.getLog(EncodingEnum.class);

    private URI uri;

    private EncodingEnum(String uri) {
        try {
            this.uri = new URI(uri);
        } catch (URISyntaxException ex) {
            Log logger = LogFactory.getLog(EncodingEnum.class);
            logger.error("Error creando enumerado de encoding", ex);
        }
    }

    public URI getEncodingUri() {
        return uri;
    }

    public static EncodingEnum getEncoding(String uri) {
        try {
            URI temp = new URI(uri);
            if (temp.equals(DER_ENCODED.uri))
                return DER_ENCODED;
            else if (temp.equals(BER_ENCODED.uri))
                return BER_ENCODED;
            else if (temp.equals(CER_ENCODED.uri))
                return CER_ENCODED;
            else if (temp.equals(PER_ENCODED.uri))
                return PER_ENCODED;
            else if (temp.equals(XER_ENCODED.uri))
                return XER_ENCODED;
        } catch (URISyntaxException ex) {
            if (logger.isDebugEnabled())
                logger.debug("Encoding indicado no es una URI", ex);
            return null;
        }
        return null;
    }

}