Adición de sincronización a cada entidad de búsqueda

Tal como se ha indicado anteriormente, la base de datos de transferencia del Servidor de búsqueda genérico debe actualizarse de forma oportuna cuando se realicen modificaciones en las entidades relacionadas con el servicio de búsqueda. Una sola entidad se puede utilizar en más de un servicio de búsqueda y cada uno de estos servicios de búsqueda debe reflejar los cambios en dicha entidad.

La clase SearchController se encarga de garantizar que toda la información de la base de datos de transferencia está actualizada. Los métodos SearchController insert, modify y remove se deben llamar desde la aplicación cuando se ejecuta la operación de la entidad del servicio de búsqueda correspondiente. Las operaciones insert y modify de SearchController modifican la información de la tabla SearchServiceRow con los datos de la estructura de detalles de la entidad especificada. La interfaz remove requiere una clave que identifica el objeto de entidad que se elimina y el nombre de la entidad.

/** 
 * Inserción genérica de actualizaciones de entidades en la base de datos.
 * 
 * @param details los detalles del objeto.
 * @param entityName el nombre de la entidad
 * @throws AppException excepción de aplicación que recuperar el
 *   encargado de admisiones
 * o durante una inserción del correlacionador.
 * @throws InformationalException excepción de información.
 */ 

public final void insert(final Object details, 
  final String entityName) 
    throws AppException, InformationalException
/** 
 * Modificación genérica de actualizaciones de entidades en la base de datos.
 * 
 * @param details los detalles del objeto.
 * @param entityName el nombre de la entidad
 * @throws AppException excepción de aplicación que recuperar el
 *   encargado de admisiones
 * o durante una modificación del correlacionador.
 * @throws InformationalException excepción de información.
 */ 
public final void modify(final Object details, 
  final String entityName) 
    throws AppException, InformationalException
/**
 * Eliminación genérica de entidad de la base de datos.
 *  
 * @param key la clave de objeto.
 * @param entityName el nombre de la entidad
 * @throws AppException excepción de aplicación.
 * @throws InformationalException excepción de información.
 */ 
public final void remove(final Object key, 
  final String entityName) throws AppException, 
    InformationalException