/* * $Id$ * * Copyright 2008 Glencoe Software, Inc. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ package ome.services.eventlogs; import ome.model.IObject; import ome.model.meta.EventLog; /** * * * @author Josh Moore, josh at glencoesoftware.com * @since 3.0-Beta3 */ public class AllEventsLogLoader extends EventLogLoader { long previous = 0; long max = -1; private boolean more = true; @Override protected EventLog query() { if (max < 0) { final IObject lastLog = lastEventLog(); max = lastLog.getId(); } EventLog el = nextEventLog(previous); if (el == null) { previous = Long.MAX_VALUE; } else { previous = el.getId(); } if (previous >= max) { more = false; } return el; } @Override public long more() { if (max < 0) { return 1; // Not initialized. } long diff = max - previous; return diff < 0 ? 0 : diff; } }