ATLAS MANUAL DE USUARIO COMPONENTE INPUT IBAN

Documentos relacionados
ATLAS MANUAL DE USUARIO COMPONENTE DE CALENDARIO

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

ATLAS MANUAL DE USUARIO COMPONENTE CODIGO DE BARRAS

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM

ATLAS MANUAL DE USUARIO COMPONENTE LISTA DE VALORES

Manual de Usuario. Componentes de Menús

Proyectos de Innovación Docente

ADAPTACIÓN DE SICALWIN AL SEPA (actualizado a 31 de marzo de 2014)

Componentes de presentación

ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES

CAPAS O CONTENEDORES EN HTML. ETIQUETAS DIV Y SPAN. EJEMPLOS. MAQUETAR O DAR ESTRUCTURA A LAS PÁGINAS WEB. (CU00726B)

Cómo gestionar menús en Drupal 7

Usuarios y Permisos. Capítulo 12

FOCO GESTIÓN DE GRUPOS

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

DATOS ESPECÍFICOS DEL CURSO

Especialista Universitario Java Enterprise. Struts. Sesión 4: Introducción a Struts Depto. Ciencia de la Computación e IA

Combinar comentarios y cambios de varios documentos en un documento

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

Desarrollo de software para navegación web desde terminales celulares de 3ª generación

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

ATLAS MANUAL DE INTEGRACIÓN

Práctica 2: Simón dice

UTILIDAD DE EXPORTACIÓN DE ASIENTOS A CONTAPLUS

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Guía del usuario de DocuShare Agent

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

EDICIÓN Y FORMATO (II)

ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS

Programa por Clase. 8. CSS3 9. Ejercicio Práctico 10. Examen

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Práctica 2: Diseño Web inicial. XHTML avanzado.

Portal INAPI INAPI Conecta Instructivo de Gestión en Sitio Web

ModusOne. ModusOne Client. Version: 5.2

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS

Manual de usuario Sitio

NOTAS TÉCNICAS SOBRE EL SIT: Comunicados (I)

También añado a la clase Libro los siguientes métodos: (que programaré más adelante)

PLANES DE EMPRESA ICEX CONSOLIDA. Manual de Usuario

Web institucional Edición de contenidos en idiomas

<SOLICITUD DE CLAVE SAC> MANUAL DE USUARIO

9. Objetos y clases Clases

Manual de ayuda para la Solicitud Telemática de Cheques Guardería. Manual de ayuda para la Solicitud Telemática de Cheques Guardería

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

SITRÁN ARAGÓN TRÁMITES Y SERVICIOS EN LÍNEA (WEB GANADEROS) SOLICITUD CERTIFICADOS SANITARIOS

CLASS JAVASCRIPT CLASES? OBJETOS PREDEFINIDOS. WINDOW, OBJETO GLOBAL. NUMBER, MATH, DATE, REGEXP, ERROR. (CU01144E)

Páginas web ::: Hojas de estilo CSS Diseño de materiales multimedia. Web Hojas de estilo CSS

ITACA - Entrada al sistema ITACA: Describe como entrar al sistema y los problemas típicos asociados al acceso a un sistema informático

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

- Se admiten los ficheros XML sin prólogo en las conversiones que hacen uso del separador de ficheros XML.

Introducción a Visual Studio.Net

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma?

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Creación de una página web accesible sencilla

Plantilla de texto plano

El inventario preciso de todos los recursos técnicos. Todas sus características serán almacenados en una base de datos.

Diseño de páginas web

Programa Presupuestos de Sevillana de Informática.

DG.CO.P00.E03-Manual de Usuario Carpeta Ciudadana

P/. Factura Electrónica D/. Manual de Usuario Proveedores

Preinscripciones por Internet 2

Tipos de ítems de menús

MATERIAL 2 EXCEL 2007

APLICACIÓN PRÁCTICA EN ESPAÑA DE LA NORMATIVA "SEPA" EN PROGRAMAS MDG

Las entidades solicitantes podrán estar certificadas en la exportación a CVN, en la importación de CVN o en ambos procesos.

ATLAS PERSISTENCIA DE SESIONES EN BASE DE DATOS CON WEBLOGIC 9.2

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

ADEUDOS DOMICILIADOS SEPA ERP Microsa

BROKERMovil Online para SmartPhone Guía Rápida v1.0

FOCO GESTIÓN DE GRUPOS

Guía de uso de Moodle para participantes

DISEÑO ORGANIZACIONAL. Diseño web avanzado con HTML5 y CSS5

Novell Vibe 4.0. Marzo de Inicio rápido. Inicio de Novell Vibe. Introducción a la interfaz de Novell Vibe y sus funciones

Tramitaciones de nuevas instalaciones de combustibles líquidos con proyecto MANUAL DE USUARIO

Complejo Deportivo UCA. República Saharaui s/n Puerto Real (Cádiz) Tel Fax

INSTRUCCIONES USO PORTAL DE FORMACIÓN. Índice. 1 Inicio Usuarios asociados a Cebek Usuarios NO asociados a Cebek...9

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

Manual WEBIECV. Público. Fecha de Aprobación Versión 2.0 Código DE-M-03

Descripción técnica. Sicherheit-TES Versión 1.0

2011 Universidad de Sevilla Grupo IDINFOR Universidad Carlos III Grupo ENTI

INFLUENCIA EN LA PRODUCTIVIDAD QUE TIENEN LOS SISTEMAS DE CONTROL

FRAMEWORK 2 Creación de Servicios Web

La ventana de Microsoft Excel

Versión Boletín de Novedades

Guía LEGAL Conectores sociales Y "SOCIAL LOGIN"

Copyright Arsys Internet S.L. Campañas Online Manual de Usuario

FICHA TÉCNICA. Introducción. Carga de datos de domiciliación. Mejoras y componentes adaptados. Formatos afectados

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Manual de suscripción a fuentes RSS.

Administración Local Soluciones

XML Namespaces. Sergio Luján Mora.

UF0320: Aplicaciones informáticas de tratamiento de textos

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Operación 8 Claves para la ISO

MANUAL BÁSICO DE WRITER

Transcripción:

ATLAS MANUAL DE USUARIO COMPONENTE INPUT IBAN Versión 1.1 Área de Aplicaciones Especiales y Arquitectura de Software

Hoja de Control Título Documento de Referencia Responsable Manual de usuario Componente Input Iban NORMATIVA ATLAS Área de Aplicaciones Especiales y Arquitectura de Software Versión 1.1 Fecha Versión 30/04/2014 Registro de Cambios Versión Causa del Cambio Responsable del Cambio Fecha del Cambio 1.0 Versión inicial del documento 1.1 Apartado 4.4: Se han añadido 2 atributos: readonly y disabled Área de Integración y Arquitectura de Aplicaciones 30/04/2014 Área de Integración y Arquitectura de Aplicaciones 03/07/14 2 de 24

Índice 1. INTRODUCCIÓN... 4 1.1. AUDIENCIA OBJETIVO... 4 1.2. CONOCIMIENTOS PREVIOS... 4 2. DESCRIPCIÓN... 5 3. INSTALACIÓN Y CONFIGURACIÓN... 7 3.1. INSTALACIÓN... 7 3.2. CONFIGURACIÓN... 7 4. USO... 8 4.1. PASO 1: DEFINICIÓN DEL ESPACIO DE NOMBRES DE ETIQUETAS DE ATLAS COMPOSITE... 8 4.2. PASO 2: INSERCIÓN EN LA PÁGINA DE LA ETIQUETA DE <ATLASC:INPUTIBAN>... 9 4.3. PASO 3: CREACIÓN DEL BEAN DE RESPALDO... 10 4.4. ATRIBUTOS... 11 4.5. CLASES CSS... 14 4.6. API JAVASCRIPT... 15 4.7. EJEMPLO DE USO... 16 4.8. USO SIN LA PARTE VISUAL... 17 4.8.1. Iban... 17 4.8.1. IbanFormatException... 21 4.8.1. ICodigoPaisValidator... 21 4.8.1. CodigoPaisValidator... 21 5. PREGUNTAS MÁS FRECUENTES... 23 6. ENLACES RELACIONADOS... 24 3 de 24

1. INTRODUCCIÓN Este documento contiene el manual de uso del componente visual Input IBAN del Framework Atlas. En él se incluye información sobre cómo utilizar dicho componente en una aplicación Web, así como información acerca de la configuración de los parámetros fundamentales del componente. 1.1. AUDIENCIA OBJETIVO Este documento está orientado a toda aquella persona que esté desarrollando una aplicación Web basada en el Framework Atlas y necesite utilizar componentes de presentación en su aplicación Web. 1.2. CONOCIMIENTOS PREVIOS Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre las siguientes tecnologías: JavaServer Faces Technology (JSF) Javascript CSS Para saber más sobre dichas tecnologías, consultar el apartado de este documento, ver apartado ENLACES RELACIONADOS. 4 de 24

2. DESCRIPCIÓN Este componente combina una serie de componentes visuales y lógica de validación para que el usuario introduzca un Código Internacional de Cuenta Bancaria (IBAN) válido en la aplicación. Para la representación de un objeto IBAN se ha creado la clase Iban (Ver a apartado Iban). Dispone de tres modos de funcionamiento y de numerosas opciones para poder adecuarlo a las necesidades de cada aplicación. Aun así, el componente ya viene configurado para empezar a usarlo sin especificar, a penas, ningún parámetro. El modo (atributo mode) del componente Input Iban sirve para establecer el funcionamiento del propio componente y está pensado para contemplar casos específicos en los que un IBAN requiera una apariencia visual o una validación propias. Los modos disponibles son: Sin formato (mode=sinformato): se compone de un único campo de texto Formato internacional (mode=formatointernacional): Se compone de un campo de texto para escribir el código de país y los dígitos de control del iban y otro para el código de cuenta nacional Formato nacional (mode=formatonacional): Al igual que en el formato anterior, dispone de un primer campo con el país y los dígitos del control del IBAN, pero en este caso la cuenta nacional se descompone en cuatro campos al estilo de las cuentas bancarias españolas (CCC). Este modo valida que sea una cuenta bancaria española válida. Básicamente el componente, dispone de una lista desplegable para elegir el modo de funcionamiento del componente y en la siguiente línea los campos de texto específicos de cada modo. A continuación se muestra un ejemplo del componente con el modo Sin Formato. Seguidamente el modo Formato Internacional. En este ejemplo se ha personalizado la etiqueta del modo Formato Internacional a través del atributo formatointernacionalmodelabel. Como veremos más adelante, el componente dispone de validaciones de formato en cliente, así, observamos que el primer campo está marcado de rojo ya que tiene un formato incorrecto (deberían ser 2 letras mayúsculas para el país + 2 dígitos de control). 5 de 24

Por último se muestra un ejemplo del modo Formato Nacional. Esta vez: se ha ocultado la lista de selección de modo (atributo showmodeselector="false"); se ha especificado el modo Formato Nacional por defecto (atributo defaultmode="formatonacional"); y se ha indicado un texto para la cabecera (atributo header="iban español"). Como se puede apreciar, el IBAN introducido no tiene ningún campo marcado en rojo -ya que todos tienen un formato correcto- pero al realizar la validación en servidor del número de cuenta, se comprueba que se corresponde con una cuenta española con los dígitos de control incorrectos, por lo que lanza un error. Todas las validaciones del componte se realizan en el servidor. Cuando se produzca un error de validación el componente añadirá un FacesMessage con un mensaje de resumen (FacesMessage#getSummary()) y otro más detallado (FacesMessage#getDetail()) de la causa del error. Los mensajes de error se adecuarán al modo seleccionado en el componente, de manera que, el usuario perciba fácilmente dónde y por qué está fallando la validación. Como ya se ha ido adelantando, la parte cliente del componente se ha enriquecido, tanto en estilo como en usabilidad, añadiendo CSS y JavaScript. Algunas de las características añadidas son: Estilo propio para el campo que tiene el foco Estilo propio para los campos que contengan datos con formato incorrecto Paso automático al siguiente campo cuando el actual esté relleno Traspaso automático de los datos al cambiar de modo Todas las clases CSS que son utilizadas en el componente son explicadas posteriormente en el apartado CLASES CSS. De la misma forma, también existe en el apartado API JAVASCRIPT donde se explica las funciones de cliente disponibles para el componente. 6 de 24

3. INSTALACIÓN Y CONFIGURACIÓN En este apartado se incluye información sobre la instalación y la configuración del componente Input IBAN. 3.1. INSTALACIÓN El componente Input Iban ya viene instalado en el arquetipo Web, incluido con el módulo de componentes visuales. Por este motivo no es necesaria una instalación adicional si se parte del arquetipo. 3.2. CONFIGURACIÓN No es necesaria ninguna configuración adicional si se ha partido del arquetipo web. 7 de 24

4. USO Una vez instalado el módulo de componentes puede procederse a su utilización. Para ello deben realizarse los pasos indicados en los siguientes apartados: 4.1. Paso 1: Definición del espacio de nombres de etiquetas de Atlas Composite Es necesario crear un fichero xhtml y establecer la definición del espacio de nombres para las etiquetas de componentes de Atlas Composite. Un ejemplo de cabecera de fichero xhtml es la siguiente: <?xml version="1.0" encoding="utf-8"?> Cabecera de fichero xhtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:atlasc="http://atlas.core.componentes/jsf/composite" xmlns:a4j="http://richfaces.org/a4j"> 8 de 24

4.2. Paso 2: Inserción en la página de la etiqueta de <atlasc:inputiban> Se incluirá una etiqueta <atlasc:inputiban> que inserta el componente en la página. Cuando se realice una petición en la que esté incluido el componente, éste se validará y en el caso de fallar, lanzará una excepción de validación de JSF con el mensaje de error. Por lo tanto, es necesario que en la página haya un componente para mostrar los errores. A continuación se muestra un ejemplo: InputIbanSample.xhtml <h:panelgrid columns="2" cellpadding="0" cellspacing="0"> <h:outputlabel value="iban" for="iban" /> <h:panelgrid cellpadding="0" cellspacing="0" columns="2" styleclass="componenteconmsj"> <atlasc:inputiban id="iban" value="#{inputibansamplebean.iban}" /> <rich:message for="iban" styleclass="errorrich" showsummary="true" showdetail="false" /> </h:panelgrid> </h:panelgrid> Técnicamente, el componente se ha creado través de un composite que hereda del componente más básico de entrada de JSF, UIInput. Por lo que la manera de usar el componente es similar a la de cualquier componente JSF que herede de este, véase <h:inputtext> o <h:selectonemenu> entre otros. Así, por ejemplo se le podría anidar un validador propio que extendiera el que ya viene por defecto. La manera de mostrar los mensajes de error es la misma que para cualquier componente JSF. Teniendo en cuenta que las librerías de componentes disponibles en Atlas, las posibilidades son: <h:message> y <rich:message> indicando en el atributo for el id del componente <atlasc:inputiban> o <h:messages> y <rich:messages> con el parámetro globalonly=false (ya que el mensaje JSF que encola el componente viene asociado a su id de cliente) Como se explicó en la descripción, el componente encola un mensaje JSF con un resumen y un detalle del error. Para elegir el mensaje que se quiere mostrar los componentes <h:message/s> y <rich:message/s> disponen de los siguientes atributos showdetail y showsummary. La lista completa de atributos disponibles para el componente se encuentra en la sección ATRIBUTOS. 9 de 24

4.3. Paso 3: Creación del Bean de Respaldo Será necesario declarar una propiedad de tipo Iban (atlas.banca.iban.iban) para utilizarla en el atributo value del componente (una para cada componente <atlasc:inputiban>). InputIbanSample.java package atlas.samples.bean; import atlas.banca.iban.iban; @ManagedBean(name="inputIbanSampleBean") @RequestScoped public class InputIbanSampleBean { } private Iban iban; public Iban getiban() { return iban; } public void setiban(iban iban) { this.iban = iban; } 10 de 24

4.4. ATRIBUTOS El Backing Component que maneja el tag <atlasc:inputiban> es atlas.componentes.composite.inputiban cuyos atributos se describen a continuación: Nombre Obligatorio Tipo Descripción id NO String 1 Identificador del componente value SI Iban 2 Valor del componente styleclass NO String defaultmode NO Mode 3 showmodeselector NO Boolean 4 sinformatomodeavailable NO Boolean Clase/s CSS del contenedor del componente Modo por defecto. Los posibles valores son: 'sinformato', 'formatointernacional' o 'formatonacional'. Por defecto 'formatonacional' Indica si debe mostrarse la selección de modo o no. Por defecto true Indica si el modo 'IBAN sin formato' está disponible o no. Por defecto 'true' formatointernacionalmodeavailable NO Boolean Indica si el modo 'IBAN con formato internacional' está disponible o no. Por defecto 'true' formatonacionalmodeavailable NO Boolean sinformatomodelabel NO String formatointernacionalmodelabel NO String Indica si el modo 'IBAN con formato español' está disponible o no. Por defecto 'true' Texto que se mostrará en la selección del modo 'sinformato'. Por defecto 'IBAN sin formato' Texto que se mostrará en la selección del modo 'formatointernacional'. Por defecto 'IBAN con formato internacional' 11 de 24

formatonacionalmodelabel NO String header NO String immediate NO Boolean required NO Boolean requiredmessage NO String validator NO MethodBinding 5 validatormessage NO String disabled NO Boolean readonly NO Boolean Texto que se mostrará en la selección del modo 'formatonacional'. Por defecto 'IBAN con formato español (sólo cuentas nacionales)' Texto que se mostrará en la cabecera del componente. Por defecto no se muestra nada Indica si la validación del componente debe adelantarse a la fase 'Apply Request Values' o no. Valor por defecto false Valor true false para indicar si es obligatorio introducir un IBAN válido o no. El valor por defecto es false Texto a utilizar para el mensaje en caso en que sea obligatorio introducir un IBAN válido y no se introduzca. Por defecto se muestra Introduzca un IBAN válido MethodExpression que representa un método de validación que se llamará durante la fase Process Validations para llevar a cabo las comprobaciones de validez del valor del componente. La expresión debe evaluar un método público que tenga los parámetros FacesContext, UIComponent, y Object, y que devuelva un void Mensaje que se mostrará cuando el validator no de por válido el valor introducido Si 'true'. El componente será deshabilitado. Por defecto 'false' Si 'true'. Los campos de texto serán de sólo lectura. Por defecto 'false' Referencias: 12 de 24

1. java.lang.string 2. atlas.banca.iban.iban 3. atlas.componentes.composite.inputiban.mode 4. java.lang.boolean 5. javax.faces.el.methodbinding 13 de 24

4.5. CLASES CSS Clases CSS utilizadas para definir el estilo del componente: Clase (selector).atlas-iban.atlas-iban-hdr.atlas-iban-hdr-lbl.atlas-iban-modo.atlas-iban-modo-slc.atlas-iban-cnt.atlas-iban-cnt-sf.atlas-iban-cnt-sf-iban.atlas-iban-cnt-fi.atlas-iban-cnt-fi-pdc.atlas-iban-cnt-fi-bban.atlas-iban-cnt-fn.atlas-iban-cnt-fn-pdc.atlas-iban-cnt-fn-ent.atlas-iban-cnt-fn-ofi.atlas-iban-cnt-fn-num Descripción Clase que define el estilo del contenedor del componente Clase que define el estilo la cabecera del componente Clase que define el estilo del texto de la cabecera del componente Clase que define el estilo del contenedor de la lista desplegable de modos Clase que define el estilo de la lista desplegable de modos Clase que define el estilo del contenedor de los diferentes modos Clase que define el estilo del contenedor del modo sin formato Clase que define el estilo del campo iban en el modo sin formato Clase que define el estilo del contenedor del modo formato internacional Clase que define el estilo del primer campo (país + dígitos de control) en el modo formato internacional Clase que define el estilo del segundo campo (cuenta nacional) en el modo formato internacional Clase que define el estilo del contenedor del modo formato nacional Clase que define el estilo del primer campo (pais + dígitos de control) en el modo formato nacional Clase que define el estilo del segundo campo (banco o entidad) en el modo formato nacional Clase que define el estilo del tercer campo (sucursal u oficina) en el modo formato nacional Clase que define el estilo del cuarto campo (número) en el modo formato nacional 14 de 24

4.6. API JAVASCRIPT El componente <atlasc:inputiban> también puede ser controlado a través de su API JavaScript. Se proporcionan las siguientes funciones: Nombre limpiacampos() Descripción Limpia todos los campos del componente 15 de 24

4.7. EJEMPLO DE USO Se puede ver un ejemplo del componente, tanto de su uso básico como de la configuración avanzada integrado en la aplicación de demostración de componentes en la siguiente ruta: Inicio > Formularios > Input IBAN 16 de 24

4.8. USO SIN LA PARTE VISUAL Para la representación del objeto IBAN se ha creado la clase atlas.banca.iban.iban, esta clase ya se encuentra incorporada en las aplicaciones generadas a partir de los arquetipos web de Atlas. 4.8.1. Iban Esta clase representa un Código Internacional de Cuenta Bancaria (IBAN, International Bank Account Number) codificado como se especifica en el estándar ISO 13616:2007. El IBAN consta de un máximo de 34 caracteres alfanuméricos. Los dos primeros son de carácter alfabético e identifican el país. Los dos siguientes son dígitos de control y constituyen el elemento de validación de la totalidad del IBAN. Los restantes son el BBAN (Basic Bank Acount Number), propios de cada país y se suele componer del número de cuenta, que, en la mayoría de los casos, identifica además la entidad y la oficina. En el caso español están los cuatro primeros, formados por los elementos explicados en el párrafo anterior, y luego se sigue con los 20 caracteres numéricos actuales del Código Cuenta Cliente (CCC) -es decir, consta de un total de 24 caracteres-. Dichos cuatro nuevos caracteres corresponden a: Ejemplos: comparativa entre el código cuenta cliente (CCC) y código IBAN de una misma cuenta. Código Cuenta Cliente (C.C.C.): 2077 0024 00 3102575766 Código IBAN: o Formato papel: IBAN ES76 2077 0024 0031 0257 5766 o Formato electrónico: ES7620770024003102575766 Esta clase valida lo siguiente: Formato básico correcto Dígitos de control correctos En el caso que sea una cuenta española (País='ES') se validará el correcto formato del CCC como los dígitos de control Atención Esta clase no valida si los códigos de país utilizado son realmente válidos por la ISO 3166-1, simplemente validamos que esté formado por 2 letras mayúsculas. Así mismo tampoco se valida que el BBAN introducido tenga una estructura correcta (a excepción de España). Las instancias de esta clase son seguras e inmutables, listas para ser usadas por múltiples hilos A continuación se detallan los constructores y métodos que dispone la clase: 4.8.1.1. Constructores 17 de 24

Iban.java / Crea un IBAN a partir de la cadena pasada @param iban un String no nulo @throws IbanFormatException si el String pasado no es un IBAN válido / public Iban(String iban) throws IbanFormatException; / Crea un nuevo IBAN a partir del primer grupo del IBAN (4 dígitos) y de la cuenta nacional (BBAN) @param primergrupo Se corresponde con los primeros 4 dígitos de un IBAN: 2 para el código del país y 2 para los dígitos del control. @param cuentanacional Una cadena no nula @throws IbanFormatException si no se puede crear un IBAN válido / public Iban(String primergrupo, String cuentanacional) throws IbanFormatException; / Crea un nuevo IBAN a partir del código de país, de los dígitos de control y de la cuenta nacional (BBAN) @param pais Código alfa-2 que identifican al país en la ISO 3166-1. @param dc son los dígitos de control del IBAN @param cuentanacional Una cadena no nula que identifica la cuenta bancaria dentro de cada país @throws IbanFormatException si no se puede crear un IBAN válido / public Iban(String pais, String dc, String cuentanacional) throws IbanFormatException; / Crea un nuevo IBAN español a partir de todas las partes que lo componen El IBAN creado tendrá el siguiente formato: - primergrupo + entidad + oficina + dcccc + numerocuenta @param primergrupo se corresponde con los primeros 4 dígitos de un IBAN español: 2 para el código de España 'ES' y 2 para los dígitos del control del IBAN. Por Ej.: 'ES33' @param entidadccc entidad bancaria del CCC @param oficinaccc oficina bancaria del CCC @param dcccc digitos de control del CCC @param numerocuentaccc del CCC @throws IbanFormatException Si hay algún error de formato / public Iban(String primergrupo, String entidadccc, String oficinaccc, String dcccc, String numerocuentaccc) throws IbanFormatException; 4.8.1.1. Métodos de clase Iban.java 18 de 24

/ Extrae el código de país de este IBAN @return Una cadena no nula con el código de país del IBAN / public String getcodigopais(); / Extrae los dígitos de control de este IBAN @return Una cadena no nula con los dígitos de control / public String getdigitoscontrol(); / Extrae la cadena que representa el BBAN (cuanta nacional) de este IBAN @return Una cadena que representa el BBAN de este IBAN / public String getbban(); / Devuelve el IBAN en formato papel, listo para ser impreso. Cuando va a ser impreso el IBAN es expresado en grupos de 4 caracteres separados por un espacio, siendo el último grupo de longitud variable. @return Una cadena no nula con este IBAN en formato papel / @Override public String toformatopapel(); 4.8.1.1. Métodos estáticos de ayuda Iban.java 19 de 24

/ Comprueba que la cadena pasada sea un IBAN válido Para validar el código de país se realiza la comprobación de que sean 2 letras mayúsculas, puede personalizar dicha comprobación a través del método {@link Iban#isValido(String, ICodigoPaisValidator)} @param iban un String. @return true si la cadena es un IBAN válido, false en otro caso. / public static boolean isvalido(string iban); / Comprueba que la cadena pasada sea un IBAN válido Con el parámetro validadorpais puede crear un validador de códigos de países a medida para su aplicación @param iban un String. @param validadorpais validador del país personalizado @return true si la cadena es un IBAN válido, false en otro caso. / public static boolean isvalido(string iban, ICodigoPaisValidator validadorpais); / Devuelve una cadena con la representación en formato electrónico del IBAN formado a partir del código de país y el BBAN pasados como parámetros Cuando va a ser utilizado electrónicamente el IBAN es expresado con todos los caracteres juntos, sin espacios y en mayúsculas. @param pais código de país @param bban código de cuenta identificativo de cada país (Basic Bank Account Number) @return Una cadena no nula con el IBAN en formato papel @throws IbanFormatException si se ha producido un error de formato al crear el BBAN / public static String toformatoelectronico(string pais, String bban) throws IbanFormatException; / Devuelve una cadena con la representación en formato papel del IBAN formado a partir del código de país y el BBAN pasados como parámetros Cuando va a ser impreso el IBAN es expresado en grupos de 4 caracteres separados por un espacio, siendo el último grupo de longitud variable. @param pais código de país (alfa-2 de la ISO 3166-1) @param bban código de cuenta identificativo de cada país (Basic Bank Account Number) @return Una cadena no nula con el IBAN en formato papel @throws IbanFormatException si se ha producido un error de formato al crear el IBAN / public static String toformatopapel(string pais, String bban) throws IbanFormatException; 20 de 24

4.8.1. IbanFormatException Excepción creada para ser lanzada cuando en un intento de convertir una cadena en un Iban se produzca un error. IbanFormatException.java / Devuelve la cadena que causó el error @return cadena que causó el error / public String getinputstring(); / Devuelve un mensaje detallado del error @return mensaje de error / public String getmsjdetalle(); / Devuelve un mensaje resumen del error @return mensaje de error / @Override public String getmessage(); 4.8.1. ICodigoPaisValidator Interfaz que declara el método que tienen que implementar las clases validadoras de código de país utilizadas en el método Métodos estáticos de ayuda. ICodigoPaisValidator.java / Valida que la cadena pasada por parámetro se corresponda con un código de país válido @param codigopais cadena con el código de país @return true si es la cadena representa un país válido, false en otro caso / public boolean valida(string codigopais); 4.8.1. CodigoPaisValidator 21 de 24

Clase singleton validadora del código de país utilizada en la clase Iban, tanto en la creación de nuevos objetos como en el método Métodos estáticos de ayuda. Esta clase implementa la anterior interfaz ICodigoPaisValidator. CodigoPaisValidator.java / Valida que la cadena pasada por parámetro se corresponda con un código de país válido. La validación que realiza es que la cadena sean dos letras mayúsculas. @param codigopais cadena con el código de país @return true si es la cadena representa un país válido, false en otro caso / @Override public boolean valida(string codigopais); 22 de 24

5. PREGUNTAS MÁS FRECUENTES En este apartado se incluyen una lista de preguntas más frecuentes sobre el componente. Pregunta: Dónde puedo encontrar información general sobre los componentes? Respuesta: En la aplicación de demostración de los componentes del Framework Atlas Pregunta: Cómo se ha implementado el componente en su capa de presentación? Respuesta: Se ha utilizado la tecnología Composite de JSF, Facelets, JacaScript, Jquery y CSS. Pregunta: Cómo puedo modificar los estilos del componente? Respuesta: Mediante los atributos de estilo del componente. Para más información consultar la tabla de atributos en la sección de Uso del componente. Pregunta: Cómo se muestran los mensajes de error? Respuesta: Los mensajes se añaden al contexto de JSF, para mostrarlos será necesario que la página contenga un componente de tipo h:messages, ya que el componente número de documento no lo incluye. 23 de 24

6. ENLACES RELACIONADOS Producto JavaServer Technology MyFaces RichFaces JavaScript Jquery CSS IBAN Faces URL http://docs.oracle.com/javaee/6/tutorial/doc/bnaph.html http://myfaces.apache.org/ http://www.jboss.org/richfaces https://developer.mozilla.org/es/docs/javascript http://api.jquery.com/ http://www.w3schools.com/css/default.asp http://es.wikipedia.org/wiki/international_bank_account_number 24 de 24