/*
* Copyright 2004-2011 H2 Group. Multiple-Licensed under the H2 License,
* Version 1.0, and under the Eclipse Public License, Version 1.0
* (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.store.fs;
/**
* A recorder for the recording file system.
*/
public interface Recorder {
/**
* Copy a file. The file name contains the source and the target file
* separated with a colon.
*/
int COPY = 0;
/**
* Create a directory.
*/
int CREATE_DIRECTORY = 1;
/**
* Create a new file.
*/
int CREATE_NEW_FILE = 2;
/**
* Create a temporary file.
*/
int CREATE_TEMP_FILE = 3;
/**
* Delete a file.
*/
int DELETE = 4;
/**
* Open a file output stream.
*/
int OPEN_OUTPUT_STREAM = 5;
/**
* Rename a file. The file name contains the source and the target file
* separated with a colon.
*/
int RENAME = 6;
/**
* Truncate the file.
*/
int TRUNCATE = 7;
/**
* Write to the file.
*/
int WRITE = 8;
/**
* Record the method.
*
* @param op the operation
* @param fileName the file name or file name list
* @param data the data or null
* @param x the value or 0
*/
void log(int op, String fileName, byte[] data, long x);
}