/****************************************************************************** * * Copyright 2014 Paphus Solutions Inc. * * Licensed under the Eclipse Public License, Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ package org.botlibre.sdk.config; import java.io.StringWriter; import org.w3c.dom.Element; /** * DTO for XML channel config. */ public class ChannelConfig extends WebMediumConfig { public String type; public String videoAccessMode; public String audioAccessMode; public String messages; public String usersOnline; public String adminsOnline; @Override public String getType() { return "channel"; } @Override public String stats() { return this.usersOnline + " users online, " + this.adminsOnline + " admins"; } public WebMediumConfig credentials() { ChannelConfig config = new ChannelConfig(); config.id = this.id; return config; } public String toXML() { StringWriter writer = new StringWriter(); writer.write("<channel"); if (this.type != null && !this.type.equals("")) { writer.write(" type=\"" + this.type + "\""); } if (this.videoAccessMode != null && !this.videoAccessMode.equals("")) { writer.write(" videoAccessMode=\"" + this.videoAccessMode + "\""); } if (this.audioAccessMode != null && !this.audioAccessMode.equals("")) { writer.write(" audioAccessMode=\"" + this.audioAccessMode + "\""); } writeXML(writer); writer.write("</channel>"); return writer.toString(); } public void parseXML(Element element) { super.parseXML(element); this.type = element.getAttribute("type"); this.videoAccessMode = element.getAttribute("videoAccessMode"); this.audioAccessMode = element.getAttribute("audioAccessMode"); this.messages = element.getAttribute("messages"); this.usersOnline = element.getAttribute("usersOnline"); this.adminsOnline = element.getAttribute("adminsOnline"); } }