/****************************************************************************** * * 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; /** * Represents a media file for an avatar (image, video, audio). * An avatar can have many media files that are tagged with emotions, actions, and poses. * This object can be converted to and from XML for usage with the web API. * The media is the short URL to the media file on the server. */ public class AvatarMedia extends Config { public String mediaId; public String name; public String type; public String media; public String emotions; public String actions; public String poses; public boolean hd; public boolean talking; public void parseXML(Element element) { super.parseXML(element); this.mediaId = element.getAttribute("mediaId"); this.name = element.getAttribute("name"); this.type = element.getAttribute("type"); this.media = element.getAttribute("media"); this.emotions = element.getAttribute("emotions"); this.actions = element.getAttribute("actions"); this.poses = element.getAttribute("poses"); this.hd = Boolean.valueOf(element.getAttribute("hd")); this.talking = Boolean.valueOf(element.getAttribute("talking")); } public String toXML() { StringWriter writer = new StringWriter(); writer.write("<avatar-media"); writeCredentials(writer); if (this.mediaId != null) { writer.write(" mediaId=\"" + this.mediaId + "\""); } if (this.name != null) { writer.write(" name=\"" + this.name + "\""); } if (this.type != null) { writer.write(" type=\"" + this.type + "\""); } if (this.emotions != null) { writer.write(" emotions=\"" + this.emotions + "\""); } if (this.actions != null) { writer.write(" actions=\"" + this.actions + "\""); } if (this.poses != null) { writer.write(" poses=\"" + this.poses + "\""); } writer.write(" hd=\"" + this.hd + "\""); writer.write(" talking=\"" + this.talking + "\""); writer.write("/>"); return writer.toString(); } public boolean isVideo() { return this.type != null && this.type.indexOf("video") != -1; } public boolean isAudio() { return this.type != null && this.type.indexOf("audio") != -1; } }