package com.onionnetworks.io; import java.io.*; public abstract class AuditableRaf extends FilterRAF { protected String defaultUri; public AuditableRaf(RAF raf) { this(raf,null); } public AuditableRaf(RAF raf, String defaultUri) { super(raf); this.defaultUri = defaultUri; } public synchronized String getDefaultUri() { return defaultUri; } public synchronized void setDefaultUri(String uri) { this.defaultUri = uri; } public synchronized void seekAndWrite(long pos, byte[] b, int off, int len) throws IOException { if (defaultUri == null) { throw new IllegalStateException("defaultUri is null"); } seekAndWrite(defaultUri,pos,b,off,len); } public abstract void seekAndWrite(String uri, long pos, byte[] b, int off, int len) throws IOException; }