1 /* 2 * #%L 3 * Bitrepository Service 4 * %% 5 * Copyright (C) 2010 - 2012 The State and University Library, The Royal Library and The State Archives, Denmark 6 * %% 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU Lesser General Public License as 9 * published by the Free Software Foundation, either version 2.1 of the 10 * License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Lesser Public License for more details. 16 * 17 * You should have received a copy of the GNU General Lesser Public 18 * License along with this program. If not, see 19 * <http://www.gnu.org/licenses/lgpl-2.1.html>. 20 * #L% 21 */ 22 package org.bitrepository.service.audit; 23 24 import org.bitrepository.bitrepositoryelements.AuditTrailEvent; 25 import org.bitrepository.bitrepositoryelements.AuditTrailEvents; 26 import org.slf4j.Logger; 27 import org.slf4j.LoggerFactory; 28 29 /** 30 * Container for the results of an extract of the AuditTrail database. 31 * Contains both the audit trails and whether more results was found. 32 */ 33 public class AuditTrailDatabaseResults { 34 /** The log.*/ 35 private Logger log = LoggerFactory.getLogger(getClass()); 36 37 /** The collection of audit trail events.*/ 38 private final AuditTrailEvents events; 39 /** Whether more results has been reported.*/ 40 private boolean hasMoreResults; 41 42 /** 43 * Constructor. 44 */ 45 public AuditTrailDatabaseResults() { 46 events = new AuditTrailEvents(); 47 hasMoreResults = false; 48 } 49 50 /** 51 * @return The entity for containing the audit trail events. 52 */ 53 public AuditTrailEvents getAuditTrailEvents() { 54 return events; 55 } 56 57 /** 58 * Adding an audit trail event to this result set. 59 * @param event The audit trail event to add. 60 */ 61 public void addAuditTrailEvent(AuditTrailEvent event) { 62 log.trace("Adding audit trail event to results: {}", event); 63 events.getAuditTrailEvent().add(event); 64 } 65 66 /** 67 * @return Whether more results has been reported. 68 */ 69 public boolean moreResults() { 70 return hasMoreResults; 71 } 72 73 /** 74 * Sets that more results has been found. 75 */ 76 public void reportMoreResultsFound() { 77 hasMoreResults = true; 78 } 79 80 @Override 81 public String toString() { 82 return super.toString() + ", contains " + events.getAuditTrailEvent().size() 83 + " audit trail events, and " + (hasMoreResults ? "has more results" : "does not have more results"); 84 } 85 }