1 21 package com.db4o.header; 22 23 import java.io.*; 24 25 import com.db4o.*; 26 27 28 31 public abstract class TimerFileLock implements Runnable { 32 33 public static TimerFileLock forFile(YapFile file){ 34 if(lockFile(file)){ 35 return new TimerFileLockEnabled(file); 36 } 37 return new TimerFileLockDisabled(); 38 } 39 40 private static boolean lockFile(YapFile file){ 41 if(! Debug.lockFile){ 42 return false; 43 } 44 return file.needsLockFileThread(); 45 } 46 47 public abstract void checkHeaderLock(); 48 49 public abstract void checkOpenTime(); 50 51 public abstract boolean lockFile(); 52 53 public abstract long openTime(); 54 55 public abstract void setAddresses(int baseAddress, int openTimeOffset, int accessTimeOffset); 56 57 public abstract void start() throws IOException; 58 59 public abstract void writeHeaderLock(); 60 61 public abstract void writeOpenTime(); 62 63 public abstract void close() throws IOException; 64 65 } 66 | Popular Tags |