--- /dev/null
+package org.simantics.db.impl.internal;\r
+\r
+import java.io.IOException;\r
+import java.nio.ByteBuffer;\r
+\r
+import org.simantics.databoard.util.binary.BinaryFile;\r
+import org.simantics.databoard.util.binary.RandomAccessBinary;\r
+\r
+public class ResourceData implements RandomAccessBinary {\r
+ private boolean changed = false;\r
+ public final BinaryFile binaryFile;\r
+ public final boolean oldExternalValue; \r
+ public ResourceData(BinaryFile binaryFile, boolean oldExternalValue) {\r
+ this.binaryFile = binaryFile;\r
+ this.oldExternalValue = oldExternalValue;\r
+ }\r
+ public boolean isChanged() {\r
+ return changed;\r
+ }\r
+ @Override\r
+ public void writeFully(ByteBuffer src) throws IOException {\r
+ binaryFile.writeFully(src);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeFully(ByteBuffer src, int length) throws IOException {\r
+ binaryFile.writeFully(src, length);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void write(int b) throws IOException {\r
+ binaryFile.write(b);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void write(byte[] b) throws IOException {\r
+ binaryFile.write(b);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void write(byte[] b, int off, int len) throws IOException {\r
+ binaryFile.write(b, off, len);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeBoolean(boolean v) throws IOException {\r
+ binaryFile.writeBoolean(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeByte(int v) throws IOException {\r
+ binaryFile.writeByte(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeShort(int v) throws IOException {\r
+ binaryFile.writeShort(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeChar(int v) throws IOException {\r
+ binaryFile.writeChar(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeInt(int v) throws IOException {\r
+ binaryFile.writeInt(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeLong(long v) throws IOException {\r
+ binaryFile.writeLong(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeFloat(float v) throws IOException {\r
+ binaryFile.writeFloat(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeDouble(double v) throws IOException {\r
+ binaryFile.writeDouble(v);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeBytes(String s) throws IOException {\r
+ binaryFile.writeBytes(s);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeChars(String s) throws IOException {\r
+ binaryFile.writeChars(s);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void writeUTF(String s) throws IOException {\r
+ binaryFile.writeUTF(s);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public long skipBytes(long bytes) throws IOException {\r
+ return binaryFile.skipBytes(bytes);\r
+ }\r
+ @Override\r
+ public void readFully(ByteBuffer buf) throws IOException {\r
+ binaryFile.readFully(buf);\r
+ }\r
+ @Override\r
+ public void readFully(ByteBuffer buf, int length) throws IOException {\r
+ binaryFile.readFully(buf, length);\r
+ }\r
+ @Override\r
+ public void readFully(byte[] b) throws IOException {\r
+ binaryFile.readFully(b);\r
+ }\r
+ @Override\r
+ public void readFully(byte[] b, int off, int len) throws IOException {\r
+ binaryFile.readFully(b, off, len);\r
+ }\r
+ @Override\r
+ public int skipBytes(int n) throws IOException {\r
+ return binaryFile.skipBytes(n);\r
+ }\r
+ @Override\r
+ public boolean readBoolean() throws IOException {\r
+ return binaryFile.readBoolean();\r
+ }\r
+ @Override\r
+ public byte readByte() throws IOException {\r
+ return binaryFile.readByte();\r
+ }\r
+ @Override\r
+ public int readUnsignedByte() throws IOException {\r
+ return binaryFile.readUnsignedByte();\r
+ }\r
+ @Override\r
+ public short readShort() throws IOException {\r
+ return binaryFile.readShort();\r
+ }\r
+ @Override\r
+ public int readUnsignedShort() throws IOException {\r
+ return binaryFile.readUnsignedShort();\r
+ }\r
+ @Override\r
+ public char readChar() throws IOException {\r
+ return binaryFile.readChar();\r
+ }\r
+ @Override\r
+ public int readInt() throws IOException {\r
+ return binaryFile.readInt();\r
+ }\r
+ @Override\r
+ public long readLong() throws IOException {\r
+ return binaryFile.readLong();\r
+ }\r
+ @Override\r
+ public float readFloat() throws IOException {\r
+ return binaryFile.readFloat();\r
+ }\r
+ @Override\r
+ public double readDouble() throws IOException {\r
+ return binaryFile.readDouble();\r
+ }\r
+ @Override\r
+ public String readLine() throws IOException {\r
+ return binaryFile.readLine();\r
+ }\r
+ @Override\r
+ public String readUTF() throws IOException {\r
+ return binaryFile.readUTF();\r
+ }\r
+ @Override\r
+ public void flush() throws IOException {\r
+ binaryFile.flush();\r
+ }\r
+ @Override\r
+ public void reset() throws IOException {\r
+ binaryFile.reset();\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void removeBytes(long bytes, ByteSide side) throws IOException {\r
+ binaryFile.removeBytes(bytes, side);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void insertBytes(long bytes, ByteSide side) throws IOException {\r
+ binaryFile.insertBytes(bytes, side);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public void setLength(long newLength) throws IOException {\r
+ binaryFile.setLength(newLength);\r
+ changed = true;\r
+ }\r
+ @Override\r
+ public long length() throws IOException {\r
+ return binaryFile.length();\r
+ }\r
+ @Override\r
+ public void close() throws IOException {\r
+ binaryFile.close();\r
+ }\r
+ @Override\r
+ public boolean isOpen() {\r
+ return binaryFile.isOpen();\r
+ }\r
+ @Override\r
+ public void position(long newPosition) throws IOException {\r
+ binaryFile.position(newPosition);\r
+ }\r
+ @Override\r
+ public long position() throws IOException {\r
+ return binaryFile.position();\r
+ }\r
+}\r