00001 // -*- C++ -*- 00002 // AID-GENERATED 00003 // ========================================================================= 00004 // This class was generated by AID - Abstract Interface Definition 00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 00006 // ========================================================================= 00007 #ifndef AIDA_ITREEFACTORY_H 00008 #define AIDA_ITREEFACTORY_H 1 00009 00010 // This file is part of the AIDA library 00011 // Copyright (C) 2002 by the AIDA team. All rights reserved. 00012 // This library is free software and under the terms of the 00013 // GNU Library General Public License described in the LGPL.txt 00014 00015 #include <string> 00016 00017 namespace AIDA { 00018 00019 class ITree; 00020 00021 /** 00022 * The creator of trees. 00023 * 00024 * @author The AIDA team (http://aida.freehep.org/) 00025 */ 00026 00027 class ITreeFactory { 00028 00029 public: 00030 /// Destructor. 00031 virtual ~ITreeFactory() { /* nop */; } 00032 00033 /** 00034 * Creates a new tree that is not associated with a store. 00035 */ 00036 virtual ITree * create() = 0; 00037 00038 /** 00039 * Creates a new tree and associates it with a store. 00040 * The store is assumed to be read/write. 00041 * The store will be created if it does not exist. 00042 * @param storeName The name of the store, if empty (""), the tree is created 00043 * in memory and therefore will not be associated with a file. 00044 * @param storeType Implementation specific string, may control store type 00045 * @param readOnly If true the store is opened readonly, an exception if it does not exist 00046 * @param createNew If false the file must exist, if true the file will be created 00047 * @param options Other options, currently are not specified 00048 * 00049 */ 00050 virtual ITree * create(const std::string & storeName, const std::string & storeType = "", bool readOnly = false, bool createNew = false, const std::string & options = "") = 0; 00051 }; // class 00052 } // namespace AIDA 00053 #endif /* ifndef AIDA_ITREEFACTORY_H */