import(methods)

export(
       "activateCluster",
       "CSVSource", # defunct
       "DataframeSource",
       "deactivateCluster",
       "Dictionary",
       "dissimilarity",
       "Docs",
       "DocumentTermMatrix",
       "stemCompletion",
       "GmaneSource",
       "findAssocs",
       "findFreqTerms",
       "getFilters",
       "getReaders",
       "getSources",
       "getTransformations",
       "inspect",
       "makeChunks",
       "materialize",
       "nDocs",
       "nTerms",
       "readPlain",
       "readReut21578XML",
       "readRCV1",
       "readNewsgroup",
       "readGmane",
       "readPDF",
       "readTabular",
       "readHTML",
       "readDOC",
       "readXML",
       "removeSparseTerms",
       "ReutersSource",
       "convertReut21578XMLPlain",
       "convertRCV1Plain",
       "convertMboxEml",
       "sFilter",
       "preprocessReut21578XML",
       "stopwords",
       "TermDocMatrix", # defunct
       "TermDocumentMatrix",
       "termFreq",
       "Terms",
       "tmReduce",
       "weightTf",
       "weightTfIdf",
       "weightBin",
       "XMLSource")

S3method("Dictionary", "character")

S3method("inspect", "Corpus")

S3method("findAssocs", "matrix")

S3method("dissimilarity", "PlainTextDocument")

S3method("[", "DocumentTermMatrix")
S3method("Dictionary", "DocumentTermMatrix")
S3method("dissimilarity", "DocumentTermMatrix")
S3method("findAssocs", "DocumentTermMatrix")
S3method("inspect", "DocumentTermMatrix")
S3method("plot", "DocumentTermMatrix")
S3method("print", "DocumentTermMatrix")
S3method("t", "DocumentTermMatrix")

S3method("[", "TermDocumentMatrix")
S3method("Dictionary", "TermDocumentMatrix")
S3method("dissimilarity", "TermDocumentMatrix")
S3method("findAssocs", "TermDocumentMatrix")
S3method("inspect", "TermDocumentMatrix")
S3method("plot", "TermDocumentMatrix")
S3method("print", "TermDocumentMatrix")
S3method("t", "TermDocumentMatrix")

S3method("as.matrix", "simple_triplet_matrix")
S3method("as.simple_triplet_matrix", "matrix")
S3method("as.simple_triplet_matrix", "simple_triplet_matrix")
S3method("Ops", "simple_triplet_matrix")
S3method("c", "simple_triplet_matrix")
S3method("cbind", "simple_triplet_matrix")
S3method("dim", "simple_triplet_matrix")
S3method("dimnames", "simple_triplet_matrix")
S3method("duplicated", "simple_triplet_matrix")
S3method("rbind", "simple_triplet_matrix")
S3method("unique", "simple_triplet_matrix")

exportMethods(
              # Constructors
              "Corpus",
              "TextRepository",
              "DirSource",
              "VectorSource",
              "URISource",
              "FunctionGenerator",
              "WeightFunction",

              # TextDocument
              "Content",
              "Content<-",
              "Author",
              "Author<-",
              "DateTimeStamp",
              "DateTimeStamp<-",
              "Description",
              "Description<-",
              "ID",
              "ID<-",
              "Origin",
              "Origin<-",
              "Heading",
              "Heading<-",
              "Language",
              "Language<-",
              "LocalMetaData",

              "Cached",
              "Cached<-",
              "URI",

              "meta",
              "meta<-",
              "DublinCore",
              "DublinCore<-",

              # Corpus
              "DMetaData",
              "DMetaData<-",
              "CMetaData",
              "DBControl",

              # TextRepository
              "RepoMetaData",

              # Sources
              "stepNext",
              "getElem",
              "pGetElem",
              "eoi",

              # Functions
              "loadDoc",
              "tmUpdate",
              "tmMap",
              "asPlain",
              "stripWhitespace",
              "tmTolower",
              "stemDoc",
              "removeCitation",
              "removeNumbers",
              "removeMultipart",
              "removeSignature",
              "removeWords",
              "removePunctuation",
              "replacePatterns",
              "tmFilter",
              "tmIndex",
              "searchFullText",
              "tmIntersect",

              "appendElem",
              "appendMeta",
              "prescindMeta",
              "removeMeta",
              "[",
              "[<-",
              "[[",
              "[[<-",
              "c",
              "coerce", # for setAs
              "length",
              "show",
              "summary",
              "writeCorpus",
              "%IN%")

exportClasses("TextDocument",
              "PlainTextDocument",
              "XMLTextDocument",
              "Reuters21578Document",
              "RCV1Document",
              "NewsgroupDocument",
              "StructuredTextDocument",
              "Corpus",
              "MetaDataNode",
              "TextRepository",
              "Dictionary",
              "Source",
              "DataframeSource",
              "DirSource",
              "VectorSource",
              "URISource",
              "FunctionGenerator",
              "WeightFunction",
              "XMLSource")

useDynLib("tm")
