@Override public long lastModified() { return getMemoryFile().getLastModified(); }
@Override public boolean createFile() { synchronized (MEMORY_FILES) { if (exists()) { return false; } getMemoryFile(); } return true; }
@Override public boolean setReadOnly() { return getMemoryFile().setReadOnly(); }
@Override public FileChannel open(String mode) { FileMemData obj = getMemoryFile(); return new FileMem(obj, "r".equals(mode)); }
@Override public long size() { return getMemoryFile().length(); }
@Override public boolean canWrite() { return getMemoryFile().canWrite(); }
@Override public void moveTo(FilePath newName, boolean atomicReplace) { synchronized (MEMORY_FILES) { if (!atomicReplace && !newName.name.equals(name) && MEMORY_FILES.containsKey(newName.name)) { throw DbException.get(ErrorCode.FILE_RENAME_FAILED_2, name, newName + " (exists)"); } FileMemData f = getMemoryFile(); f.setName(newName.name); MEMORY_FILES.remove(name); MEMORY_FILES.put(newName.name, f); } }
@Override public OutputStream newOutputStream(boolean append) throws IOException { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, false); return new FileChannelOutputStream(m, append); }
@Override public InputStream newInputStream() { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, true); return new FileChannelInputStream(m, true); }
@Override public long size() { return getMemoryFile().length(); }
@Override public FileChannel open(String mode) { FileMemData obj = getMemoryFile(); return new FileMem(obj, "r".equals(mode)); }
@Override public long size() { return getMemoryFile().length(); }
@Override public boolean canWrite() { return getMemoryFile().canWrite(); }
@Override public boolean createFile() { synchronized (MEMORY_FILES) { if (exists()) { return false; } getMemoryFile(); } return true; }
@Override public boolean createFile() { synchronized (MEMORY_FILES) { if (exists()) { return false; } getMemoryFile(); } return true; }
@Override public FileChannel open(String mode) { FileMemData obj = getMemoryFile(); return new FileMem(obj, "r".equals(mode)); }
@Override public InputStream newInputStream() { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, true); return new FileChannelInputStream(m, true); }
@Override public OutputStream newOutputStream(boolean append) throws IOException { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, false); return new FileChannelOutputStream(m, append); }
@Override public OutputStream newOutputStream(boolean append) throws IOException { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, false); return new FileChannelOutputStream(m, append); }
@Override public InputStream newInputStream() { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, true); return new FileChannelInputStream(m, true); }