package fr.lteconsulting.hexa.client.tableobserver; import fr.lteconsulting.hexa.client.interfaces.IHasIntegerId; public abstract class SimpleDataPlug<T extends IHasIntegerId> implements XTableListen<T> { @Override public final void deleted( int recordId, T oldRecord ) { currentRecord( null ); } @Override public final void updated( T record ) { currentRecord( record ); } @Override public final void updatedField( String fieldName, T record ) { currentRecord( record ); } @Override public final void wholeTable( Iterable<T> records ) { boolean ok = false; for( T r : records ) { ok = true; currentRecord( r ); break; } if( !ok ) currentRecord( null ); } @Override public final void clearAll() { currentRecord( null ); } protected abstract void currentRecord( T record ); }