package com.paphus.sdk.config;
import java.io.StringWriter;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
/**
* DTO for XML web medium config.
*/
public abstract class WebMediumConfig extends Config {
public String id;
public String name;
public boolean isAdmin;
public boolean isAdult;
public boolean isPrivate;
public boolean isHidden;
public String accessMode;
public boolean isFlagged;
public boolean isExternal;
public boolean isPaphus;
public boolean showAds = true;
public String description;
public String details;
public String disclaimer;
public String website;
public String tags;
public String categories;
public String flaggedReason;
public String creator;
public String creationDate;
public String lastConnectedUser;
public String license;
public String avatar;
public String connects;
public String dailyConnects;
public String weeklyConnects;
public String monthlyConnects;
public abstract String toXML();
public abstract String getType();
public abstract WebMediumConfig credentials();
public String stats() {
return "";
}
public boolean equals(Object object) {
if (object instanceof WebMediumConfig) {
if (this.id == null) {
return super.equals(object);
}
return this.id.equals(((WebMediumConfig)object).id);
}
return false;
}
public long getToken() {
long token = 0;
if ((this.token != null) && (this.token.equals(""))) {
token = Long.valueOf(this.token);
}
return token;
}
public void writeXML(StringWriter writer) {
writeCredentials(writer);
if (this.id != null) {
writer.write(" id=\"" + this.id + "\"");
}
if (this.name != null) {
writer.write(" name=\"" + this.name + "\"");
}
if (this.isPrivate) {
writer.write(" isPrivate=\"true\"");
}
if (this.isHidden) {
writer.write(" isHidden=\"true\"");
}
if (this.accessMode != null && !this.accessMode.equals("")) {
writer.write(" accessMode=\"" + this.accessMode + "\"");
}
if (this.isAdult) {
writer.write(" isAdult=\"true\"");
}
if (this.isFlagged) {
writer.write(" isFlagged=\"true\"");
}
if (this.isExternal) {
writer.write(" isExternal=\"true\"");
}
if (this.showAds) {
writer.write(" showAds=\"true\"");
}
writer.write(">");
if (this.description != null) {
writer.write("<description>");
writer.write(this.description);
writer.write("</description>");
}
if (this.details != null) {
writer.write("<details>");
writer.write(this.details);
writer.write("</details>");
}
if (this.disclaimer != null) {
writer.write("<disclaimer>");
writer.write(this.disclaimer);
writer.write("</disclaimer>");
}
if (this.categories != null) {
writer.write("<categories>");
writer.write(this.categories);
writer.write("</categories>");
}
if (this.tags != null) {
writer.write("<tags>");
writer.write(this.tags);
writer.write("</tags>");
}
if (this.license != null) {
writer.write("<license>");
writer.write(this.license);
writer.write("</license>");
}
if (this.website != null) {
writer.write("<website>");
writer.write(this.website);
writer.write("</website>");
}
if (this.flaggedReason != null) {
writer.write("<flaggedReason>");
writer.write(this.flaggedReason);
writer.write("</flaggedReason>");
}
}
public void parseXML(Element element) {
this.id = element.getAttribute("id");
this.name = element.getAttribute("name");
this.creationDate = element.getAttribute("creationDate");
this.isPrivate = Boolean.valueOf(element.getAttribute("isPrivate"));
this.isHidden = Boolean.valueOf(element.getAttribute("isHidden"));
this.accessMode = element.getAttribute("accessMode");
this.isAdmin = Boolean.valueOf(element.getAttribute("isAdmin"));
this.isAdult = Boolean.valueOf(element.getAttribute("isAdult"));
this.isFlagged = Boolean.valueOf(element.getAttribute("isFlagged"));
this.isExternal = Boolean.valueOf(element.getAttribute("isExternal"));
this.creator = element.getAttribute("creator");
this.creationDate = element.getAttribute("creationDate");
this.connects = element.getAttribute("connects");
this.dailyConnects = element.getAttribute("dailyConnects");
this.weeklyConnects = element.getAttribute("weeklyConnects");
this.showAds = Boolean.valueOf(element.getAttribute("showAds"));
this.monthlyConnects = element.getAttribute("monthlyConnects");
Node node = element.getElementsByTagName("description").item(0);
if (node != null) {
this.description = node.getTextContent();
}
node = element.getElementsByTagName("details").item(0);
if (node != null) {
this.details = node.getTextContent();
}
node = element.getElementsByTagName("disclaimer").item(0);
if (node != null) {
this.disclaimer = node.getTextContent();
}
node = element.getElementsByTagName("categories").item(0);
if (node != null) {
this.categories = node.getTextContent();
}
node = element.getElementsByTagName("tags").item(0);
if (node != null) {
this.tags = node.getTextContent();
}
node = element.getElementsByTagName("flaggedReason").item(0);
if (node != null) {
this.flaggedReason = node.getTextContent();
}
node = element.getElementsByTagName("lastConnectedUser").item(0);
if (node != null) {
this.lastConnectedUser = node.getTextContent();
}
node = element.getElementsByTagName("license").item(0);
if (node != null) {
this.license = node.getTextContent();
}
node = element.getElementsByTagName("avatar").item(0);
if (node != null) {
this.avatar = node.getTextContent();
}
}
}