4 * Copyright(c) 2008 olyutorskii
\r
5 * $Id: AvatarData.java 877 2009-10-25 15:16:13Z olyutorskii $
\r
8 package jp.sourceforge.jindolf.archiver;
\r
10 import java.io.IOException;
\r
11 import java.io.Writer;
\r
12 import java.util.List;
\r
13 import javax.xml.parsers.DocumentBuilder;
\r
14 import javax.xml.parsers.DocumentBuilderFactory;
\r
15 import jp.sourceforge.jindolf.corelib.PreDefAvatar;
\r
20 public class AvatarData{
\r
22 private static final List<PreDefAvatar> PREDEF_AVATAR_LIST;
\r
25 DocumentBuilderFactory factory =
\r
26 DocumentBuilderFactory.newInstance();
\r
28 DocumentBuilder builder = factory.newDocumentBuilder();
\r
29 PREDEF_AVATAR_LIST = PreDefAvatar.buildPreDefAvatarList(builder);
\r
30 }catch(RuntimeException e){
\r
32 }catch(Exception e){
\r
33 throw new ExceptionInInitializerError(e);
\r
38 * プリセット済みAvatarをフルネームを用いて取得する。
\r
40 * @return 見つかったプリセット済みAvatar。見つからなければnull。
\r
42 public static PreDefAvatar getPreDefAvatar(CharSequence seq){
\r
43 for(PreDefAvatar avatar : PREDEF_AVATAR_LIST){
\r
44 String fullName = avatar.getFullName();
\r
45 if(fullName.contentEquals(seq)){
\r
52 private String fullName;
\r
53 private String shortName;
\r
54 private String avatarId;
\r
55 private String faceIconUri;
\r
60 public AvatarData(){
\r
67 * @param predefAvatar プリセット済みAvatar
\r
69 public AvatarData(PreDefAvatar predefAvatar){
\r
72 this.fullName = predefAvatar.getFullName();
\r
73 this.shortName = predefAvatar.getShortName();
\r
74 this.avatarId = predefAvatar.getAvatarId();
\r
75 this.faceIconUri = null;
\r
84 public String getFullName(){
\r
85 return this.fullName;
\r
90 * @param fullName フルネーム
\r
92 public void setFullName(String fullName){
\r
93 this.fullName = fullName;
\r
101 public String getShortName(){
\r
102 return this.shortName;
\r
107 * @param shortName 短縮名
\r
109 public void setShortName(String shortName){
\r
110 this.shortName = shortName;
\r
116 * @return Avatar識別子
\r
118 public String getAvatarId(){
\r
119 return this.avatarId;
\r
124 * @param avatarId Avatar識別子
\r
126 public void setAvatarId(String avatarId){
\r
127 this.avatarId = avatarId;
\r
132 * 顔アイコンURI文字列を取得する。
\r
133 * @return 顔アイコンURI文字列
\r
135 public String getFaceIconUri(){
\r
136 return this.faceIconUri;
\r
140 * 顔アイコンURI文字列を設定する。
\r
141 * @param faceIconUri 顔アイコンURI文字列
\r
143 public void setFaceIconUri(String faceIconUri){
\r
144 this.faceIconUri = faceIconUri;
\r
149 * avatar要素をXML出力する。
\r
150 * @param writer 出力先
\r
151 * @throws IOException 出力エラー
\r
153 public void dumpXml(Writer writer) throws IOException{
\r
154 writer.append("<avatar\n");
\r
156 XmlUtils.indent(writer, 1);
\r
157 XmlUtils.attrOut(writer, "avatarId", this.avatarId);
\r
158 writer.append('\n');
\r
160 XmlUtils.indent(writer, 1);
\r
161 XmlUtils.attrOut(writer, "fullName", this.fullName);
\r
163 writer.append(' ');
\r
164 XmlUtils.attrOut(writer, "shortName", this.shortName);
\r
165 writer.append('\n');
\r
167 if(this.faceIconUri != null){
\r
168 XmlUtils.indent(writer, 1);
\r
169 XmlUtils.attrOut(writer, "faceIconURI", this.faceIconUri);
\r
170 writer.append('\n');
\r
174 writer.append("/>\n");
\r