4 * Copyright(c) 2008 olyutorskii
\r
7 package jp.sourceforge.jindolf.archiver;
\r
9 import java.io.IOException;
\r
10 import java.io.Writer;
\r
11 import java.util.List;
\r
12 import javax.xml.parsers.DocumentBuilder;
\r
13 import javax.xml.parsers.DocumentBuilderFactory;
\r
14 import jp.sourceforge.jindolf.corelib.PreDefAvatar;
\r
19 public class AvatarData{
\r
21 private static final List<PreDefAvatar> PREDEF_AVATAR_LIST;
\r
24 DocumentBuilderFactory factory =
\r
25 DocumentBuilderFactory.newInstance();
\r
27 DocumentBuilder builder = factory.newDocumentBuilder();
\r
28 PREDEF_AVATAR_LIST = PreDefAvatar.buildPreDefAvatarList(builder);
\r
29 }catch(RuntimeException e){
\r
31 }catch(Exception e){
\r
32 throw new ExceptionInInitializerError(e);
\r
37 * プリセット済みAvatarをフルネームを用いて取得する。
\r
39 * @return 見つかったプリセット済みAvatar。見つからなければnull。
\r
41 public static PreDefAvatar getPreDefAvatar(CharSequence seq){
\r
42 for(PreDefAvatar avatar : PREDEF_AVATAR_LIST){
\r
43 String fullName = avatar.getFullName();
\r
44 if(fullName.contentEquals(seq)){
\r
51 private String fullName;
\r
52 private String shortName;
\r
53 private String avatarId;
\r
54 private String faceIconUri;
\r
59 public AvatarData(){
\r
66 * @param predefAvatar プリセット済みAvatar
\r
68 public AvatarData(PreDefAvatar predefAvatar){
\r
71 this.fullName = predefAvatar.getFullName();
\r
72 this.shortName = predefAvatar.getShortName();
\r
73 this.avatarId = predefAvatar.getAvatarId();
\r
74 this.faceIconUri = null;
\r
83 public String getFullName(){
\r
84 return this.fullName;
\r
89 * @param fullName フルネーム
\r
91 public void setFullName(String fullName){
\r
92 this.fullName = fullName;
\r
100 public String getShortName(){
\r
101 return this.shortName;
\r
106 * @param shortName 短縮名
\r
108 public void setShortName(String shortName){
\r
109 this.shortName = shortName;
\r
115 * @return Avatar識別子
\r
117 public String getAvatarId(){
\r
118 return this.avatarId;
\r
123 * @param avatarId Avatar識別子
\r
125 public void setAvatarId(String avatarId){
\r
126 this.avatarId = avatarId;
\r
131 * 顔アイコンURI文字列を取得する。
\r
132 * @return 顔アイコンURI文字列
\r
134 public String getFaceIconUri(){
\r
135 return this.faceIconUri;
\r
139 * 顔アイコンURI文字列を設定する。
\r
140 * @param faceIconUri 顔アイコンURI文字列
\r
142 public void setFaceIconUri(String faceIconUri){
\r
143 this.faceIconUri = faceIconUri;
\r
148 * avatar要素をXML出力する。
\r
149 * @param writer 出力先
\r
150 * @throws IOException 出力エラー
\r
152 public void dumpXml(Writer writer) throws IOException{
\r
153 writer.append("<avatar\n");
\r
155 XmlUtils.indent(writer, 1);
\r
156 XmlUtils.attrOut(writer, "avatarId", this.avatarId);
\r
157 writer.append('\n');
\r
159 XmlUtils.indent(writer, 1);
\r
160 XmlUtils.attrOut(writer, "fullName", this.fullName);
\r
162 writer.append(' ');
\r
163 XmlUtils.attrOut(writer, "shortName", this.shortName);
\r
164 writer.append('\n');
\r
166 if(this.faceIconUri != null){
\r
167 XmlUtils.indent(writer, 1);
\r
168 XmlUtils.attrOut(writer, "faceIconURI", this.faceIconUri);
\r
169 writer.append('\n');
\r
173 writer.append("/>\n");
\r