import(methods)

importFrom(XML, getNodeSet, free, saveXML,
           xmlAttrs, xmlTreeParse, xmlNode)

importMethodsFrom(AnnotationDbi, revmap, mget, as.list)

importClassesFrom(Biobase, ScalarCharacter, Versions)

exportClasses(## GeneIdentifierType
              GeneIdentifierType,
              NullIdentifier, AnnotationIdentifier, EntrezIdentifier,
              EnzymeIdentifier, GenenameIdentifier, RefseqIdentifier,
              SymbolIdentifier, EntrezIdentifier, UnigeneIdentifier,

              ## CollectionType
              CollectionType, NullCollection, ExpressionSetCollection,
              CollectionIdType, KEGGCollection, OMIMCollection, PMIDCollection,
              ChrCollection, ChrlocCollection, PfamCollection, PrositeCollection,
              GOCollection,
              BroadCollection,

              ## GeneSet
              GeneSet, GeneColorSet,

              ## GeneSetCollection
              GeneSetCollection
              )

exportMethods(show, details, initialize, intersect, union, setdiff,
              "&", "|", incidence,

              ## IdentifierType
              mapIdentifiers, annotation,

              ## CollectionType
              ids,
              bcCategory, bcSubCategory,
              evidenceCode,

              ## GeneSet
              GeneSet,
              
              geneIdType, geneIds, setIdentifier, setName, description,
              longDescription, organism, pubMedIds, urls, contributor,
              setVersion, creationDate, collectionType,

              "geneIdType<-", "geneIds<-", "setIdentifier<-", "setName<-",
              "description<-", "longDescription<-", "organism<-",
              "pubMedIds<-", "urls<-", "contributor<-",
              "setVersion<-", "creationDate<-", "collectionType<-",

              ## GeneColorSet
              GeneColorSet,
              
              phenotype, geneColor, phenotypeColor, coloring,
              
              "phenotype<-", "geneColor<-", "phenotypeColor<-",
              "coloring<-",

              ## GeneSetCollection
              GeneSetCollection, names, "[", "[[")

export(## IdentifierType
       NullIdentifier, EnzymeIdentifier, GenenameIdentifier,
       RefseqIdentifier, SymbolIdentifier, UnigeneIdentifier,
       EntrezIdentifier, AnnotationIdentifier,

       ## CollectionType
       NullCollection, ExpressionSetCollection, KEGGCollection,
       OMIMCollection, PMIDCollection, ChrCollection,
       ChrlocCollection, MapCollection, PfamCollection,
       PrositeCollection, GOCollection, BroadCollection,

       ## XML
       asBroadUri, getBroadSets, toBroadXML)
