00001 #ifndef Impala_Persistency_ModelLocator_h
00002 #define Impala_Persistency_ModelLocator_h
00003
00004 #include "Basis/Quids.h"
00005 #include "Persistency/Locator.h"
00006
00007 namespace Impala
00008 {
00009 namespace Persistency
00010 {
00011
00012
00013 class ModelLocator : public Locator
00014 {
00015 public:
00016
00017 ModelLocator()
00018 {
00019 }
00020
00021 ModelLocator(CString protocolAndHost, CString dataSet, String conceptSet,
00022 String model, String feature, String concept)
00023 : Locator(protocolAndHost, dataSet)
00024 {
00025 Init(conceptSet, model, feature, concept);
00026 }
00027
00028 ModelLocator(CString dataSet, CString conceptSet, CString model,
00029 CString feature, CString concept, CmdOptions& options)
00030 : Locator(dataSet, options)
00031 {
00032 Init(conceptSet, model, feature, concept);
00033 }
00034
00035 ModelLocator(const Locator& base, CString conceptSet, CString model,
00036 CString feature, CString concept)
00037 : Locator(base.GetProtocol(), base.GetHost(), base.GetDataSet())
00038 {
00039 Init(conceptSet, model, feature, concept);
00040 }
00041
00042 virtual
00043 ~ModelLocator()
00044 {
00045 }
00046
00047 String
00048 GetConceptSet() const
00049 {
00050 return mConceptSet;
00051 }
00052
00053 String
00054 GetModel() const
00055 {
00056 return mModel;
00057 }
00058
00059 void
00060 SetModel(CString model)
00061 {
00062 mModel = model;
00063 }
00064
00065 String
00066 GetFeature() const
00067 {
00068 return mFeatureDef;
00069 }
00070
00071 String
00072 GetConcept() const
00073 {
00074 return mConcept;
00075 }
00076
00077 void
00078 SetConcept(CString concept)
00079 {
00080 mConcept = concept;
00081 }
00082
00083 String
00084 ToString() const
00085 {
00086 return "ModelLocator(" + GetProtocol() + "," + GetHost()
00087 + "," + GetDataSet() + "," + GetConceptSet() + ","
00088 + GetModel() + "," + GetFeature() + "," + GetConcept() + ")";
00089 }
00090
00091 private:
00092
00093 void
00094 Init(String conceptSet, String model, String feature, String concept)
00095 {
00096 mConceptSet = conceptSet;
00097 mModel = model;
00098 mFeatureDef = feature;
00099 mConcept = concept;
00100 }
00101
00102 String mConceptSet;
00103 String mModel;
00104 String mFeatureDef;
00105 String mConcept;
00106
00107 ILOG_VAR_DEC;
00108 };
00109
00110 ILOG_VAR_INIT(ModelLocator, Impala.Persistency);
00111
00112 std::ostream&
00113 operator<< (std::ostream& os, const ModelLocator& loc)
00114 {
00115 os << loc.ToString();
00116 return os;
00117 }
00118
00119 }
00120 }
00121
00122 #endif