00001 #ifndef Impala_Persistency_ImageSetLocator_h
00002 #define Impala_Persistency_ImageSetLocator_h
00003
00004 #include "Persistency/Locator.h"
00005
00006 namespace Impala
00007 {
00008 namespace Persistency
00009 {
00010
00011
00016 class ImageSetLocator : public Locator
00017 {
00018 public:
00019
00020 ImageSetLocator()
00021 {
00022 }
00023
00024 ImageSetLocator(CString protocolAndHost, CString dataSet)
00025 : Locator(protocolAndHost, dataSet)
00026 {
00027 mName = "";
00028 }
00029
00030 ImageSetLocator(CString dataSet, CmdOptions& options)
00031 : Locator(dataSet, options)
00032 {
00033 mName = "";
00034 }
00035
00036 ImageSetLocator(const Locator& base, CString name)
00037 : Locator(base.GetProtocol(), base.GetHost(), base.GetDataSet())
00038 {
00039 mName = name;
00040 }
00041
00042 virtual
00043 ~ImageSetLocator()
00044 {
00045 }
00046
00047 String
00048 GetName() const
00049 {
00050 if (mName.empty())
00051 return GetDataSet();
00052 return mName;
00053 }
00054
00055 String
00056 ToString() const
00057 {
00058 return "ImageSetLocator(" + GetProtocol() + "," + GetHost()
00059 + "," + GetDataSet() + "," + GetName() + ")";
00060 }
00061
00062 private:
00063
00064 String mName;
00065
00066 ILOG_VAR_DEC;
00067 };
00068
00069 ILOG_VAR_INIT(ImageSetLocator, Impala.Persistency);
00070
00071 std::ostream&
00072 operator<< (std::ostream& os, const ImageSetLocator& loc)
00073 {
00074 os << loc.ToString();
00075 return os;
00076 }
00077
00078 }
00079 }
00080
00081 #endif