1 /* 2 * Copyright 2009 :torweg free software group 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 * 17 */ 18 package org.torweg.pulse.component.statistics.aggregator; 19 20 import org.hibernate.Session; 21 import org.torweg.pulse.component.statistics.model.Visit; 22 23 /** 24 * Abstract base-class to derive an aggregation for the 25 * {@code DataAggregationJoblet} from. 26 * 27 * @author Daniel Dietz 28 * @version $Revision: 1541 $ 29 */ 30 public abstract class AbstractBaseAggregator { 31 32 /** 33 * Processes and aggregates the passed {@code Visit}s. 34 * <p> 35 * <strong>NOTE:</strong><br/> 36 * This method is wrapped by an {@code org.hibernate.Transaction} which 37 * is being opened before and committed afterwards for each passed 38 * {@code Visit} in the calling {@code DataAggregationJoblet}. 39 * </p> 40 * 41 * @param visit 42 * the {@code Visit} to be processed 43 * @param s 44 * the current hibernate<sup>TM</sup>-{@code Session} 45 */ 46 public abstract void aggregate(Visit visit, Session s); 47 48 } 49