# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# IMPORTS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
importFrom("R.methodsS3", "setMethodS3")
importFrom("R.methodsS3", "appendVarArgs")

importFrom("R.oo", "setConstructorS3")
importFrom("R.oo", "Object")
importFrom("R.oo", "extend")
importFrom("R.oo", "clone")
importFrom("R.oo", "Package")
importFrom("R.oo", "startupMessage")
# ...and just so below S3method() works
importFrom("R.oo", "finalize")
importFrom("R.oo", "getName")
importFrom("R.oo", "getPath")
importFrom("R.oo", "throw")

importFrom("R.utils", "Arguments")
importFrom("R.utils", "isFile")
importFrom("R.utils", "isOpen")
importFrom("R.utils", "seqToIntervals")
importFrom("R.utils", "readBinFragments")
importFrom("R.utils", "writeBinFragments")


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# EXPORTS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Export all public methods, that is, those without a preceeding dot
# in their names.
exportPattern("^[^\\.]")

export("isOpen") # Re-exported from 'R.utils'


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# DECLARATIONS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# AbstractFileArray
S3method("as.character", "AbstractFileArray")
S3method("as.vector", "AbstractFileArray")
S3method("clone", "AbstractFileArray")
S3method("close", "AbstractFileArray")
S3method("delete", "AbstractFileArray")
S3method("dim", "AbstractFileArray")
S3method("dimnames", "AbstractFileArray")
S3method("finalize", "AbstractFileArray")
S3method("flush", "AbstractFileArray")
S3method("getBasename", "AbstractFileArray")
S3method("getBytesPerCell", "AbstractFileArray")
S3method("getCloneNumber", "AbstractFileArray")
S3method("getComments", "AbstractFileArray")
S3method("getDataOffset", "AbstractFileArray")
S3method("getDimensionOrder", "AbstractFileArray")
S3method("getExtension", "AbstractFileArray")
S3method("getFileSize", "AbstractFileArray")
S3method("getName", "AbstractFileArray")
S3method("getPath", "AbstractFileArray")
S3method("getPathname", "AbstractFileArray")
S3method("getSizeOfComments", "AbstractFileArray")
S3method("getSizeOfData", "AbstractFileArray")
S3method("getStorageMode", "AbstractFileArray")
S3method("isOpen", "AbstractFileArray")
S3method("length", "AbstractFileArray")
S3method("open", "AbstractFileArray")
S3method("readAllValues", "AbstractFileArray")
S3method("readContiguousValues", "AbstractFileArray")
S3method("readHeader", "AbstractFileArray")
S3method("readValues", "AbstractFileArray")
S3method("setComments", "AbstractFileArray")
S3method("writeAllValues", "AbstractFileArray")
S3method("writeEmptyData", "AbstractFileArray")
S3method("writeHeader", "AbstractFileArray")
S3method("writeHeaderComments", "AbstractFileArray")
S3method("writeValues", "AbstractFileArray")

# default
S3method("colnames", "default")
S3method("ncol", "default")
S3method("nrow", "default")
S3method("rowMeans", "default")
S3method("rownames", "default")
S3method("rowSums", "default")

# FileMatrix
S3method("[", "FileMatrix")
S3method("[<-", "FileMatrix")
S3method("as.character", "FileMatrix")
S3method("as.matrix", "FileMatrix")
S3method("colnames", "FileMatrix")
S3method("getByRow", "FileMatrix")
S3method("getColumnOffset", "FileMatrix")
S3method("getMatrixIndicies", "FileMatrix")
S3method("getOffset", "FileMatrix")
S3method("getRowOffset", "FileMatrix")
S3method("ncol", "FileMatrix")
S3method("nrow", "FileMatrix")
S3method("readFullMatrix", "FileMatrix")
S3method("readValues", "FileMatrix")
S3method("rowMeans", "FileMatrix")
S3method("rownames", "FileMatrix")
S3method("rowSums", "FileMatrix")
S3method("writeValues", "FileMatrix")

# FileVector
S3method("[", "FileVector")
S3method("[<-", "FileVector")
S3method("names", "FileVector")
