All Downloads are FREE. Search and download functionalities are using the official Maven repository.

es.gob.afirma.standalone.protocol.UnsupportedProtocolException Maven / Gradle / Ivy

There is a newer version: 1.8.2
Show newest version
/* Copyright (C) 2011 [Gobierno de Espana]
 * This file is part of "Cliente @Firma".
 * "Cliente @Firma" is free software; you can redistribute it and/or modify it under the terms of:
 *   - the GNU General Public License as published by the Free Software Foundation;
 *     either version 2 of the License, or (at your option) any later version.
 *   - or The European Software License; either version 1.1 or (at your option) any later version.
 * You may contact the copyright holder at: [email protected]
 */

package es.gob.afirma.standalone.protocol;

/**
 * Excepción con la que se indica si una versión de protocolo de comunicación
 * no esta soportado y si es necesario actualizar la aplicación para soportarlo (protocolo
 * más avanzada que el soportado por la aplicación) o si se trata de un protocolo
 * obsoleto.
 */
public class UnsupportedProtocolException extends Exception {

	/** Serial Id. */
	private static final long serialVersionUID = -7429271911165454430L;

	/** Versión por defecto cuando no se establece ninguna. */
	private static final int DEFAULT_VERSION = 1;

	private final boolean newVersionNeeded;
	private final int version;

	UnsupportedProtocolException() {
		this(DEFAULT_VERSION, true);
	}

	UnsupportedProtocolException(final int version, final boolean newVersionNeeded) {
		super("Version del protocolo no soportada"); //$NON-NLS-1$
		this.version = version;
		this.newVersionNeeded = newVersionNeeded;
	}

	/**
	 * Indica si la version del protocolo es superior a la soportada y, por tanto, hay que actualizar
	 * a una nueva versión del núcleo.
	 * @return {@code true} si se requiere actualizar a una nueva versión, {@code false} cuando
	 * la el protocolo es antiguo y no compatible con esta versión.
	 */
	public boolean isNewVersionNeeded() {
		return this.newVersionNeeded;
	}

	/**
	 * Recupera la versión de protocolo necesaria.
	 * @return Versión del protocolo solicitada.
	 */
	public int getVersion() {
		return this.version;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy