Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
7 : * Permission to use, copy, modify and distribute this software and its *
8 : * documentation strictly for non-commercial purposes is hereby granted *
9 : * without fee, provided that the above copyright notice appears in all *
10 : * copies and that both the copyright notice and this permission notice *
11 : * appear in the supporting documentation. The authors make no claims *
12 : * about the suitability of this software for any purpose. It is *
13 : * provided "as is" without express or implied warranty. *
14 : **************************************************************************/
15 :
16 : /////////////////////////////////////////////////////////////////////
17 : // //
18 : // class AliCDBEntry //
19 : // container for an object, it identity (AliCDBId) //
20 : // and its metaData (AliCDBMetaData) //
21 : // //
22 : /////////////////////////////////////////////////////////////////////
23 :
24 : #include "AliCDBEntry.h"
25 : #include "AliLog.h"
26 :
27 128 : ClassImp(AliCDBEntry)
28 :
29 : //_____________________________________________________________________________
30 739 : AliCDBEntry::AliCDBEntry():
31 739 : fObject(NULL),
32 739 : fId(),
33 739 : fMetaData(NULL),
34 4434 : fIsOwner(kFALSE){
35 : // default constructor
36 :
37 1478 : }
38 :
39 : //_____________________________________________________________________________
40 1 : AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBId& id,
41 : AliCDBMetaData* metaData, Bool_t owner):
42 1 : fObject(object),
43 1 : fId(id),
44 1 : fMetaData(metaData),
45 4 : fIsOwner(owner){
46 : // constructor
47 2 : fMetaData->SetObjectClassName(fObject->ClassName());
48 2 : }
49 :
50 : //_____________________________________________________________________________
51 0 : AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path,
52 : const AliCDBRunRange& runRange,
53 : AliCDBMetaData* metaData,Bool_t owner):
54 0 : fObject(object),
55 0 : fId(path, runRange, -1, -1),
56 0 : fMetaData(metaData),
57 0 : fIsOwner(owner){
58 : // constructor
59 0 : fMetaData->SetObjectClassName(fObject->ClassName());
60 0 : }
61 :
62 : //_____________________________________________________________________________
63 0 : AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path,
64 : const AliCDBRunRange& runRange,
65 : Int_t version, AliCDBMetaData* metaData, Bool_t owner):
66 0 : fObject(object),
67 0 : fId(path, runRange, version, -1),
68 0 : fMetaData(metaData),
69 0 : fIsOwner(owner){
70 : // constructor
71 0 : fMetaData->SetObjectClassName(fObject->ClassName());
72 0 : }
73 :
74 : //_____________________________________________________________________________
75 0 : AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path,
76 : const AliCDBRunRange& runRange,
77 : Int_t version, Int_t subVersion,
78 : AliCDBMetaData* metaData, Bool_t owner):
79 0 : fObject(object),
80 0 : fId(path, runRange, version, subVersion),
81 0 : fMetaData(metaData),
82 0 : fIsOwner(owner){
83 : // constructor
84 0 : fMetaData->SetObjectClassName(fObject->ClassName());
85 0 : }
86 :
87 :
88 : //_____________________________________________________________________________
89 0 : AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path,
90 : Int_t firstRun, Int_t lastRun,
91 : AliCDBMetaData* metaData, Bool_t owner):
92 0 : fObject(object),
93 0 : fId(path, firstRun, lastRun, -1, -1),
94 0 : fMetaData(metaData),
95 0 : fIsOwner(owner){
96 : // constructor
97 0 : fMetaData->SetObjectClassName(fObject->ClassName());
98 0 : }
99 :
100 : //_____________________________________________________________________________
101 0 : AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path,
102 : Int_t firstRun, Int_t lastRun,
103 : Int_t version, AliCDBMetaData* metaData,
104 : Bool_t owner):
105 0 : fObject(object),
106 0 : fId(path, firstRun, lastRun, version, -1),
107 0 : fMetaData(metaData),
108 0 : fIsOwner(owner){
109 : // constructor
110 0 : fMetaData->SetObjectClassName(fObject->ClassName());
111 0 : }
112 :
113 : //_____________________________________________________________________________
114 0 : AliCDBEntry::AliCDBEntry( TObject* object, const AliCDBPath& path,
115 : Int_t firstRun, Int_t lastRun,
116 : Int_t version, Int_t subVersion,
117 : AliCDBMetaData* metaData, Bool_t owner):
118 0 : fObject(object),
119 0 : fId(path, firstRun, lastRun, version, subVersion),
120 0 : fMetaData(metaData), fIsOwner(owner){
121 : // constructor
122 0 : fMetaData->SetObjectClassName(fObject->ClassName());
123 0 : }
124 :
125 : //_____________________________________________________________________________
126 4312 : AliCDBEntry::~AliCDBEntry() {
127 : // destructor
128 :
129 719 : if (fIsOwner) {
130 135 : if (fObject) {
131 270 : delete fObject;
132 : }
133 :
134 135 : if (fMetaData) {
135 270 : delete fMetaData;
136 : }
137 : }
138 2156 : }
139 :
140 : void AliCDBEntry::Print(Option_t* option) const{
141 : //
142 : //
143 : //
144 0 : PrintId();
145 0 : if (fMetaData) fMetaData->Print(option);
146 0 : if (fObject) fObject->Print(option);
147 :
148 0 : }
149 :
150 : //_____________________________________________________________________________
151 : void AliCDBEntry::PrintId() const {
152 :
153 0 : AliInfo(Form("%s",fId.ToString().Data()));
154 :
155 0 : }
156 :
157 :
158 : Int_t AliCDBEntry::Compare(const TObject* obj) const
159 : {
160 : //
161 : // compare according y
162 0 : AliCDBEntry * o2 = (AliCDBEntry*)obj;
163 0 : return TString(this->GetId().GetPath()).CompareTo((o2->GetId().GetPath()));
164 :
165 0 : }
166 :
167 : Bool_t AliCDBEntry::IsSortable() const {
168 0 : return kTRUE;
169 : }
|