ROOT logo
#ifndef ALI_CDB_ENTRY_H
#define ALI_CDB_ENTRY_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/////////////////////////////////////////////////////////////////////
//                                                                 //
//  class AliCDBEntry						   //
//  container for an object, it identity (AliCDBId)  		   //
//  and its metaData (AliCDBMetaData) 				   //
//                                                                 //
/////////////////////////////////////////////////////////////////////

#include "AliCDBId.h"
#include "AliCDBMetaData.h"

class AliCDBEntry: public TObject {

  public:
    AliCDBEntry();

    AliCDBEntry(TObject* object, const AliCDBId& id,  
        AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    AliCDBEntry(TObject* object, const AliCDBPath& path, const AliCDBRunRange& runRange,
        AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    AliCDBEntry(TObject* object, const AliCDBPath& path, const AliCDBRunRange& runRange,
        Int_t version, AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    AliCDBEntry(TObject* object, const AliCDBPath& path, const AliCDBRunRange& runRange,
        Int_t version, Int_t subVersion, 
        AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    AliCDBEntry(TObject* object, const AliCDBPath& path, Int_t firstRun, Int_t lastRun,
        AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    AliCDBEntry(TObject* object, const AliCDBPath& path, Int_t firstRun, Int_t lastRun,
        Int_t version, AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    AliCDBEntry(TObject* object, const AliCDBPath& path, Int_t firstRun, Int_t lastRun,
        Int_t version, Int_t subVersion, 
        AliCDBMetaData* metaData, Bool_t owner = kFALSE);

    virtual ~AliCDBEntry();


    void 		SetId(const AliCDBId& id) {fId = id;};
    AliCDBId& 	GetId() {return fId;};
    const AliCDBId& GetId() const {return fId;};
    void 		PrintId() const;

    void 		SetObject(TObject* object) {fObject = object;};
    TObject* 	GetObject() {return fObject;};
    const TObject* 	GetObject() const {return fObject;};	

    void 			SetMetaData(AliCDBMetaData* metaData) {fMetaData = metaData;};
    AliCDBMetaData* 	GetMetaData() {return fMetaData;};
    const AliCDBMetaData* 	GetMetaData() const {return fMetaData;};
    void 			PrintMetaData() const {fMetaData->PrintMetaData();}

    void 	SetOwner(Bool_t owner) {fIsOwner = owner;};
    Bool_t 	IsOwner() const {return fIsOwner;};

    void 	SetVersion(Int_t version) {fId.SetVersion(version);}
    void 	SetSubVersion(Int_t subVersion) {fId.SetSubVersion(subVersion);}

    const TString 	GetLastStorage() const {return fId.GetLastStorage();};
    void  		SetLastStorage(TString lastStorage) {fId.SetLastStorage(lastStorage);};
    virtual Int_t Compare(const TObject* obj) const;
    virtual Bool_t IsSortable() const;
  private:

    AliCDBEntry(const AliCDBEntry& other); // no copy ctor
    void operator= (const AliCDBEntry& other); // no assignment op

    TObject* fObject;		// object
    AliCDBId fId;			// entry ID
    AliCDBMetaData* fMetaData; 	// metaData
    Bool_t fIsOwner; 		// ownership flag

    ClassDef(AliCDBEntry, 1);
};

#endif
 AliCDBEntry.h:1
 AliCDBEntry.h:2
 AliCDBEntry.h:3
 AliCDBEntry.h:4
 AliCDBEntry.h:5
 AliCDBEntry.h:6
 AliCDBEntry.h:7
 AliCDBEntry.h:8
 AliCDBEntry.h:9
 AliCDBEntry.h:10
 AliCDBEntry.h:11
 AliCDBEntry.h:12
 AliCDBEntry.h:13
 AliCDBEntry.h:14
 AliCDBEntry.h:15
 AliCDBEntry.h:16
 AliCDBEntry.h:17
 AliCDBEntry.h:18
 AliCDBEntry.h:19
 AliCDBEntry.h:20
 AliCDBEntry.h:21
 AliCDBEntry.h:22
 AliCDBEntry.h:23
 AliCDBEntry.h:24
 AliCDBEntry.h:25
 AliCDBEntry.h:26
 AliCDBEntry.h:27
 AliCDBEntry.h:28
 AliCDBEntry.h:29
 AliCDBEntry.h:30
 AliCDBEntry.h:31
 AliCDBEntry.h:32
 AliCDBEntry.h:33
 AliCDBEntry.h:34
 AliCDBEntry.h:35
 AliCDBEntry.h:36
 AliCDBEntry.h:37
 AliCDBEntry.h:38
 AliCDBEntry.h:39
 AliCDBEntry.h:40
 AliCDBEntry.h:41
 AliCDBEntry.h:42
 AliCDBEntry.h:43
 AliCDBEntry.h:44
 AliCDBEntry.h:45
 AliCDBEntry.h:46
 AliCDBEntry.h:47
 AliCDBEntry.h:48
 AliCDBEntry.h:49
 AliCDBEntry.h:50
 AliCDBEntry.h:51
 AliCDBEntry.h:52
 AliCDBEntry.h:53
 AliCDBEntry.h:54
 AliCDBEntry.h:55
 AliCDBEntry.h:56
 AliCDBEntry.h:57
 AliCDBEntry.h:58
 AliCDBEntry.h:59
 AliCDBEntry.h:60
 AliCDBEntry.h:61
 AliCDBEntry.h:62
 AliCDBEntry.h:63
 AliCDBEntry.h:64
 AliCDBEntry.h:65
 AliCDBEntry.h:66
 AliCDBEntry.h:67
 AliCDBEntry.h:68
 AliCDBEntry.h:69
 AliCDBEntry.h:70
 AliCDBEntry.h:71
 AliCDBEntry.h:72
 AliCDBEntry.h:73
 AliCDBEntry.h:74
 AliCDBEntry.h:75
 AliCDBEntry.h:76
 AliCDBEntry.h:77
 AliCDBEntry.h:78
 AliCDBEntry.h:79
 AliCDBEntry.h:80
 AliCDBEntry.h:81
 AliCDBEntry.h:82
 AliCDBEntry.h:83
 AliCDBEntry.h:84
 AliCDBEntry.h:85
 AliCDBEntry.h:86