es.mcu.yingo.campos.precargadores
Class PrecargadorPorRolLista

java.lang.Object
  extended by es.mcu.yingo.campos.precargadores.PrecargadorPorRolLista
All Implemented Interfaces:
Precargador

public class PrecargadorPorRolLista
extends java.lang.Object
implements Precargador

Propiedad de las implementaciones del interfaz Campo que se encarga de precargar el dato sobre el campo. Toma del map de datos "objetoAPrecargar" el valor cuya clave coincida con la PRIMERA que encuentre de ente las que se definan en la propiedad "cadenas" y retornarlo el String del resultado.
Si el usuario que está ejecutando la tarea, posee algún rol de los que estén definidos en la propiedad "listaRolesNoPrecargar", devolverá null para que no se precargue ningún valor.
Esto es útil, por ejemplo, si una tarea "Alta de datos" es ejecutada por los usuarios normales y por un administrador, que da de alta los datos en nombre de ota persona. En el primer caso queremos precargar el nombre del solicitante, y en el caso del administrador, no lo queremos precargar, ya que en ese caso da de alta datos en nombre de ota persona. El map de datos "objetoAPrecargar", para que contenga datos, se debe precargar, a nivel de Tarea a través de alguna implementación del intarfaz Iniciador

Author:
carlos.garcia.h

Field Summary
private  java.util.List cadenas
          Cadenas por las que se buscará en el map de datos a precargar
private  boolean comprobarSoloClave
          Si tiene valor true devuelve el valor de la primera clave que exista al recorrer la lista cadenas aunque este sea nulo.
private  java.util.List listaRolesNoPrecargar
          Si el usuario contiene alguno de los roles aquí definidos, el dato no se precargará
 
Constructor Summary
PrecargadorPorRolLista()
          Constructor
 
Method Summary
 java.util.List getCadenas()
          Cadenas por las que se buscará en el map de datos a precargar
 java.util.List getListaRolesNoPrecargar()
          Si el usuario contiene alguno de los roles aquí definidos, el dato no se precargará
 boolean isComprobarSoloClave()
           
 java.lang.String precargar(Usuario usuarioEnSesion, java.util.Map<java.lang.String,java.lang.String> objetoAPrecargar)
          Busca uno por uno en el map de datos "objetoAPrecargar" las claves que estan definidas en la lista "cadenas" de modo que devuelva el valor a precargar de la primera clave que encuentre.
private  boolean seHaDePrecargar(Usuario usuarioEnSesion)
          Comprueba si se ha de precargar el valor.
 void setCadenas(java.util.List cadenas)
          Cadenas por las que se buscará en el map de datos a precargar
 void setComprobarSoloClave(boolean comprobarSoloClave)
           
 void setListaRolesNoPrecargar(java.util.List listaRolesNoPrecargar)
          Si el usuario contiene alguno de los roles aquí definidos, el dato no se precargará
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listaRolesNoPrecargar

private java.util.List listaRolesNoPrecargar
Si el usuario contiene alguno de los roles aquí definidos, el dato no se precargará


cadenas

private java.util.List cadenas
Cadenas por las que se buscará en el map de datos a precargar


comprobarSoloClave

private boolean comprobarSoloClave
Si tiene valor true devuelve el valor de la primera clave que exista al recorrer la lista cadenas aunque este sea nulo.
Si está a false devuelve el valor de la primera clave que exista al recorrer la lista y cuyo valor sea diferente a nulo o a la cadena vacía.
Por defecto tiene valor false

Constructor Detail

PrecargadorPorRolLista

public PrecargadorPorRolLista()
Constructor

Method Detail

precargar

public java.lang.String precargar(Usuario usuarioEnSesion,
                                  java.util.Map<java.lang.String,java.lang.String> objetoAPrecargar)
                           throws YingoException
Busca uno por uno en el map de datos "objetoAPrecargar" las claves que estan definidas en la lista "cadenas" de modo que devuelva el valor a precargar de la primera clave que encuentre. Para que precargue el dato, el usuario no debe de tener ninguno de los roles definidos en la propiedad "listaRolesNoPrecargar"

Specified by:
precargar in interface Precargador
Parameters:
usuarioEnSesion -
objetoAPrecargar -
Returns:
Throws:
YingoException

seHaDePrecargar

private boolean seHaDePrecargar(Usuario usuarioEnSesion)
Comprueba si se ha de precargar el valor. Comprueba si el usuario tiene el rol permitido para precargar. Si la lista listaRolesNoPrecargar es nula se devuelve true

Parameters:
usuarioEnSesion -
Returns:

getListaRolesNoPrecargar

public java.util.List getListaRolesNoPrecargar()
Si el usuario contiene alguno de los roles aquí definidos, el dato no se precargará

Returns:

setListaRolesNoPrecargar

public void setListaRolesNoPrecargar(java.util.List listaRolesNoPrecargar)
Si el usuario contiene alguno de los roles aquí definidos, el dato no se precargará

Parameters:
listaRolesNoPrecargar -

getCadenas

public java.util.List getCadenas()
Cadenas por las que se buscará en el map de datos a precargar

Returns:

setCadenas

public void setCadenas(java.util.List cadenas)
Cadenas por las que se buscará en el map de datos a precargar

Parameters:
cadenas -

isComprobarSoloClave

public boolean isComprobarSoloClave()
Returns:
Devuelve el atributo comprobarSoloClave

setComprobarSoloClave

public void setComprobarSoloClave(boolean comprobarSoloClave)
Parameters:
comprobarSoloClave - Carga el atributo comprobarSoloClave