#include <iostream>
using namespace std;
//Adaptee
class Analytictool
{
public:
string jsondata;
virtual void setdata(string pjsondata)=0;
virtual void analyze()=0;
};
class jsonanalytictool :public Analytictool
{
public:
void setdata(string pjsondata)
{
jsondata = pjsondata;
}
void analyze()
{
if(jsondata.find("json") != string::npos)
{
cout << "Analyzed json data "<<jsondata<<endl;
}
else
{
cout<<"Not a correct file"<<endl;
}
}
};
class Adapter {
public:
virtual void validatefile()=0;
};
class xmltojsonadapter : public Adapter
{
Analytictool *analytictool;
public:
xmltojsonadapter(string xmldata)
{
cout<<"converting xmldata to json data"<<endl;
string newdata = xmldata+"_to_json";
analytictool = new jsonanalytictool();
analytictool->setdata(newdata);
}
void validatefile()
{
analytictool->analyze();
}
};
int main() {
string data = "xml_data";
Adapter *adapt = new xmltojsonadapter(data);
adapt->validatefile();
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: