| OpenFileState.java |
1 /**
2 * Distribution License:
3 * JSword is free software; you can redistribute it and/or modify it under
4 * the terms of the GNU Lesser General Public License, version 2.1 or later
5 * as published by the Free Software Foundation. This program is distributed
6 * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
7 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8 * See the GNU Lesser General Public License for more details.
9 *
10 * The License is available on the internet at:
11 * http://www.gnu.org/copyleft/lgpl.html
12 * or by writing to:
13 * Free Software Foundation, Inc.
14 * 59 Temple Place - Suite 330
15 * Boston, MA 02111-1307, USA
16 *
17 * © CrossWire Bible Society, 2013 - 2016
18 *
19 */
20 package org.crosswire.jsword.book.sword.state;
21
22 import java.io.Closeable;
23
24 import org.crosswire.jsword.book.BookMetaData;
25
26 /**
27 * Marker interface for objects holding open files that should be freed up upon finishing
28 *
29 *
30 * @see gnu.lgpl.License The GNU Lesser General Public License for details.
31 * @author DM Smith
32 */
33 public interface OpenFileState extends Closeable {
34
35 BookMetaData getBookMetaData();
36
37 void releaseResources();
38
39 /**
40 * @return latest access before releasing back to the pool
41 */
42 long getLastAccess();
43
44 /**
45 * Sets the last access time
46 * @param lastAccess the time at which this instance was last accessed
47 */
48 void setLastAccess(long lastAccess);
49 }
50