ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

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

#include "AliCDBEntry.h"
#include "AliLog.h"

ClassImp(AliCDBEntry)

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry():
  fObject(NULL),
  fId(),
  fMetaData(NULL), 
  fIsOwner(kFALSE){
    // default constructor

  }

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBId& id, 
    AliCDBMetaData* metaData, Bool_t owner):
  fObject(object), 
  fId(id), 
  fMetaData(metaData), 
  fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path, 
    const AliCDBRunRange& runRange,
    AliCDBMetaData* metaData,Bool_t owner):
  fObject(object), 
  fId(path, runRange, -1, -1), 
  fMetaData(metaData),
  fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path, 
    const AliCDBRunRange& runRange,
    Int_t version, AliCDBMetaData* metaData, Bool_t owner):
  fObject(object), 
  fId(path, runRange, version, -1), 
  fMetaData(metaData),
  fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path, 
    const AliCDBRunRange& runRange,
    Int_t version, Int_t subVersion, 
    AliCDBMetaData* metaData, Bool_t owner):
  fObject(object),
  fId(path, runRange, version, subVersion), 
  fMetaData(metaData), 
  fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }


//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path, 
    Int_t firstRun, Int_t lastRun, 
    AliCDBMetaData* metaData, Bool_t owner):
  fObject(object),
  fId(path, firstRun, lastRun, -1, -1), 
  fMetaData(metaData), 
  fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry(TObject* object, const AliCDBPath& path, 
    Int_t firstRun, Int_t lastRun,
    Int_t version, AliCDBMetaData* metaData,
    Bool_t owner):
  fObject(object),
  fId(path, firstRun, lastRun, version, -1),
  fMetaData(metaData), 
  fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }

//_____________________________________________________________________________
AliCDBEntry::AliCDBEntry( TObject* object, const AliCDBPath& path, 
    Int_t firstRun, Int_t lastRun,
    Int_t version, Int_t subVersion,
    AliCDBMetaData* metaData, Bool_t owner):
  fObject(object),
  fId(path, firstRun, lastRun, version, subVersion),
  fMetaData(metaData), fIsOwner(owner){
    // constructor
    fMetaData->SetObjectClassName(fObject->ClassName());
  }

//_____________________________________________________________________________
AliCDBEntry::~AliCDBEntry() {
  // destructor

  if (fIsOwner) {
    if (fObject) {
      delete fObject;
    }

    if (fMetaData) {
      delete fMetaData;
    }
  }
}

//_____________________________________________________________________________
void AliCDBEntry::PrintId() const {

  AliInfo(Form("%s",fId.ToString().Data()));

}


Int_t AliCDBEntry::Compare(const TObject* obj) const
{
  //
  // compare according y
  AliCDBEntry * o2 = (AliCDBEntry*)obj;
  return TString(this->GetId().GetPath()).CompareTo((o2->GetId().GetPath()));
  
}

Bool_t AliCDBEntry::IsSortable() const {
   return kTRUE;
} 
 AliCDBEntry.cxx:1
 AliCDBEntry.cxx:2
 AliCDBEntry.cxx:3
 AliCDBEntry.cxx:4
 AliCDBEntry.cxx:5
 AliCDBEntry.cxx:6
 AliCDBEntry.cxx:7
 AliCDBEntry.cxx:8
 AliCDBEntry.cxx:9
 AliCDBEntry.cxx:10
 AliCDBEntry.cxx:11
 AliCDBEntry.cxx:12
 AliCDBEntry.cxx:13
 AliCDBEntry.cxx:14
 AliCDBEntry.cxx:15
 AliCDBEntry.cxx:16
 AliCDBEntry.cxx:17
 AliCDBEntry.cxx:18
 AliCDBEntry.cxx:19
 AliCDBEntry.cxx:20
 AliCDBEntry.cxx:21
 AliCDBEntry.cxx:22
 AliCDBEntry.cxx:23
 AliCDBEntry.cxx:24
 AliCDBEntry.cxx:25
 AliCDBEntry.cxx:26
 AliCDBEntry.cxx:27
 AliCDBEntry.cxx:28
 AliCDBEntry.cxx:29
 AliCDBEntry.cxx:30
 AliCDBEntry.cxx:31
 AliCDBEntry.cxx:32
 AliCDBEntry.cxx:33
 AliCDBEntry.cxx:34
 AliCDBEntry.cxx:35
 AliCDBEntry.cxx:36
 AliCDBEntry.cxx:37
 AliCDBEntry.cxx:38
 AliCDBEntry.cxx:39
 AliCDBEntry.cxx:40
 AliCDBEntry.cxx:41
 AliCDBEntry.cxx:42
 AliCDBEntry.cxx:43
 AliCDBEntry.cxx:44
 AliCDBEntry.cxx:45
 AliCDBEntry.cxx:46
 AliCDBEntry.cxx:47
 AliCDBEntry.cxx:48
 AliCDBEntry.cxx:49
 AliCDBEntry.cxx:50
 AliCDBEntry.cxx:51
 AliCDBEntry.cxx:52
 AliCDBEntry.cxx:53
 AliCDBEntry.cxx:54
 AliCDBEntry.cxx:55
 AliCDBEntry.cxx:56
 AliCDBEntry.cxx:57
 AliCDBEntry.cxx:58
 AliCDBEntry.cxx:59
 AliCDBEntry.cxx:60
 AliCDBEntry.cxx:61
 AliCDBEntry.cxx:62
 AliCDBEntry.cxx:63
 AliCDBEntry.cxx:64
 AliCDBEntry.cxx:65
 AliCDBEntry.cxx:66
 AliCDBEntry.cxx:67
 AliCDBEntry.cxx:68
 AliCDBEntry.cxx:69
 AliCDBEntry.cxx:70
 AliCDBEntry.cxx:71
 AliCDBEntry.cxx:72
 AliCDBEntry.cxx:73
 AliCDBEntry.cxx:74
 AliCDBEntry.cxx:75
 AliCDBEntry.cxx:76
 AliCDBEntry.cxx:77
 AliCDBEntry.cxx:78
 AliCDBEntry.cxx:79
 AliCDBEntry.cxx:80
 AliCDBEntry.cxx:81
 AliCDBEntry.cxx:82
 AliCDBEntry.cxx:83
 AliCDBEntry.cxx:84
 AliCDBEntry.cxx:85
 AliCDBEntry.cxx:86
 AliCDBEntry.cxx:87
 AliCDBEntry.cxx:88
 AliCDBEntry.cxx:89
 AliCDBEntry.cxx:90
 AliCDBEntry.cxx:91
 AliCDBEntry.cxx:92
 AliCDBEntry.cxx:93
 AliCDBEntry.cxx:94
 AliCDBEntry.cxx:95
 AliCDBEntry.cxx:96
 AliCDBEntry.cxx:97
 AliCDBEntry.cxx:98
 AliCDBEntry.cxx:99
 AliCDBEntry.cxx:100
 AliCDBEntry.cxx:101
 AliCDBEntry.cxx:102
 AliCDBEntry.cxx:103
 AliCDBEntry.cxx:104
 AliCDBEntry.cxx:105
 AliCDBEntry.cxx:106
 AliCDBEntry.cxx:107
 AliCDBEntry.cxx:108
 AliCDBEntry.cxx:109
 AliCDBEntry.cxx:110
 AliCDBEntry.cxx:111
 AliCDBEntry.cxx:112
 AliCDBEntry.cxx:113
 AliCDBEntry.cxx:114
 AliCDBEntry.cxx:115
 AliCDBEntry.cxx:116
 AliCDBEntry.cxx:117
 AliCDBEntry.cxx:118
 AliCDBEntry.cxx:119
 AliCDBEntry.cxx:120
 AliCDBEntry.cxx:121
 AliCDBEntry.cxx:122
 AliCDBEntry.cxx:123
 AliCDBEntry.cxx:124
 AliCDBEntry.cxx:125
 AliCDBEntry.cxx:126
 AliCDBEntry.cxx:127
 AliCDBEntry.cxx:128
 AliCDBEntry.cxx:129
 AliCDBEntry.cxx:130
 AliCDBEntry.cxx:131
 AliCDBEntry.cxx:132
 AliCDBEntry.cxx:133
 AliCDBEntry.cxx:134
 AliCDBEntry.cxx:135
 AliCDBEntry.cxx:136
 AliCDBEntry.cxx:137
 AliCDBEntry.cxx:138
 AliCDBEntry.cxx:139
 AliCDBEntry.cxx:140
 AliCDBEntry.cxx:141
 AliCDBEntry.cxx:142
 AliCDBEntry.cxx:143
 AliCDBEntry.cxx:144
 AliCDBEntry.cxx:145
 AliCDBEntry.cxx:146
 AliCDBEntry.cxx:147
 AliCDBEntry.cxx:148
 AliCDBEntry.cxx:149
 AliCDBEntry.cxx:150
 AliCDBEntry.cxx:151
 AliCDBEntry.cxx:152
 AliCDBEntry.cxx:153
 AliCDBEntry.cxx:154
 AliCDBEntry.cxx:155
 AliCDBEntry.cxx:156
 AliCDBEntry.cxx:157
 AliCDBEntry.cxx:158
 AliCDBEntry.cxx:159