4 * License : The MIT License
5 * Copyright(c) 2008 olyutorskii
8 package jp.sourceforge.jindolf.archiver;
10 import java.io.IOException;
11 import java.io.Writer;
12 import jp.sourceforge.jindolf.corelib.TalkType;
17 public class TalkData extends TopicData{
19 private TalkType talkType = null;
20 private AvatarData avatarData = null;
22 private String faceIconUri = null;
38 public TalkType getTalkType(){
44 * @param talkType 発言種別
46 public void setTalkType(TalkType talkType){
47 this.talkType = talkType;
55 public AvatarData getAvatarData(){
56 return this.avatarData;
61 * @param avatarData 発言Avatar
63 public void setAvatarData(AvatarData avatarData){
64 this.avatarData = avatarData;
72 public String getXName(){
78 * @param xName name属性値
80 public void setXName(String xName){
87 * @return 顔アイコン画像URI文字列
89 public String getFaceIconUri(){
90 return this.faceIconUri;
95 * @param faceIconUri 顔アイコン画像URI文字列
97 public void setFaceIconUri(String faceIconUri){
98 this.faceIconUri = faceIconUri;
106 public int getHour(){
114 public void setHour(int hour){
123 public int getMinute(){
131 public void setMinute(int minute){
132 this.minute = minute;
139 * @throws IOException 出力エラー
142 public void dumpXml(Writer writer) throws IOException{
143 writer.append("<talk\n");
146 switch(this.talkType){
160 throw new IllegalArgumentException();
163 XmlUtils.indent(writer, 1);
164 XmlUtils.attrOut(writer, "type", typeStr);
167 XmlUtils.attrOut(writer, "avatarId", this.avatarData.getAvatarId());
170 XmlUtils.indent(writer, 1);
171 XmlUtils.attrOut(writer, "xname", this.xName);
174 XmlUtils.timeAttrOut(writer, "time", this.hour, this.minute);
177 if( this.talkType != TalkType.GRAVE
178 && ! this.faceIconUri.equals(this.avatarData.getFaceIconUri()) ){
179 XmlUtils.indent(writer, 1);
180 XmlUtils.attrOut(writer, "faceIconURI", this.faceIconUri);
184 writer.append(">\n");
188 writer.append("</talk>\n");