ssbm.presentation.filters
Class FilterChain

java.lang.Object
  extended by ssbm.presentation.filters.FilterChain

 class FilterChain
extends java.lang.Object

Questa classe rappresenta una sequenza di filtri da applicare ai campi di una particolare schermata dell'itnerfaccia utente.
La sequenza di filtri è implementata come coda con priorità e la priorità è stabilita utilizzando il valore restituito dal metodo Filter.getPriority() implementato dalle sottoclassi di Filter.

Author:
Salvatore Piccione

Field Summary
private  java.util.concurrent.PriorityBlockingQueue<Filter> filtersQueue
          Coda con priorità dei filtri.
 
Constructor Summary
FilterChain()
          Costruisce un'istanza con la coda di filtri vuota.
 
Method Summary
(package private)  boolean addFilter(Filter filter)
          Aggiunge un nuovo filtro alla coda.
(package private)  FieldsContainer executeFilters()
          Esegui i filtri presenti nella coda con priorità e restituisce:un'istanza di FieldsContainer se il filtraggio ha comportato delle modifiche ai campi;null se il filtraggio non ha modificato i campi.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

filtersQueue

private java.util.concurrent.PriorityBlockingQueue<Filter> filtersQueue
Coda con priorità dei filtri.

Constructor Detail

FilterChain

FilterChain()
Costruisce un'istanza con la coda di filtri vuota.

Method Detail

addFilter

boolean addFilter(Filter filter)
            throws java.lang.IllegalArgumentException
Aggiunge un nuovo filtro alla coda.

Parameters:
filter - il filtro da aggiungere alla coda dei filtri.
Returns:
true se il filtro è stato aggiunto; false se il filtro è già presente nella coda e quindi non è stato nuovamente inserito.
Throws:
java.lang.IllegalArgumentException - se filter è null.

executeFilters

FieldsContainer executeFilters()
                         throws FiltrationException
Esegui i filtri presenti nella coda con priorità e restituisce:

Returns:
  • un'istanza di FieldsContainer se il filtraggio ha modificato ai campi
  • ;
  • null se il filtraggio non ha modificato i campi.
Throws:
FiltrationException - se il filtraggio ha riscontrato un errore nei campi