/* * File : Author.java * Created : 13-jul-2001 11:07 * By : fbusquets * * JClic - Authoring and playing system for educational activities * * Copyright (C) 2000 - 2005 Francesc Busquets & Departament * d'Educacio de la Generalitat de Catalunya * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details (see the LICENSE file). */ package edu.xtec.jclic.project; import edu.xtec.util.Domable; import edu.xtec.util.Html; import edu.xtec.util.JDomUtility; /** * * @author Francesc Busquets (fbusquets@xtec.cat) * @version 13.08.08 */ public class Author extends Object implements Domable{ public String name; public String mail; public String url; public String organization; public String comments; public String rol; /** Creates new Author */ public Author() { name=new String(); mail=null; url=null; organization=null; comments=null; rol=null; } public static final String ELEMENT_NAME="author"; public static final String NAME="name", MAIL="mail", URL="url", ORGANIZATION="organization", COMMENTS="comments", ROL="rol"; public org.jdom.Element getJDomElement(){ org.jdom.Element e=new org.jdom.Element(ELEMENT_NAME); e.setAttribute(NAME, name); if(mail!=null) e.setAttribute(MAIL, mail); if(url!=null) e.setAttribute(URL, url); if(rol!=null) e.setAttribute(ROL, rol); if(organization!=null) e.setAttribute(ORGANIZATION, organization); if(comments!=null) JDomUtility.addParagraphs(e, COMMENTS, comments); return e; } public static Author getAuthor(org.jdom.Element e) throws Exception{ JDomUtility.checkName(e, ELEMENT_NAME); Author a=new Author(); a.name=JDomUtility.getStringAttr(e, NAME, a.name, true); a.mail=JDomUtility.getStringAttr(e, MAIL, a.mail, false); a.url=JDomUtility.getStringAttr(e, URL, a.url, false); a.rol=JDomUtility.getStringAttr(e, ROL, a.rol, false); a.organization=JDomUtility.getStringAttr(e, ORGANIZATION, a.organization, false); a.comments=JDomUtility.getParagraphs(e.getChild(COMMENTS)); return a; } public void setProperties(org.jdom.Element e, Object aux) throws Exception{ JDomUtility.checkName(e, ELEMENT_NAME); name=JDomUtility.getStringAttr(e, NAME, name, true); mail=JDomUtility.getStringAttr(e, MAIL, mail, false); url=JDomUtility.getStringAttr(e, URL, url, false); rol=JDomUtility.getStringAttr(e, ROL, rol, false); organization=JDomUtility.getStringAttr(e, ORGANIZATION, organization, false); comments=JDomUtility.getParagraphs(e.getChild(COMMENTS)); } public String toHtmlString(edu.xtec.util.Messages msg){ Html html=new Html(500); if(rol!=null) html.append(rol).append(": "); html.append(name); if(mail!=null && mail.length()>0) html.sp().mailTo(mail, true); if(url!=null && url.length()>0) html.br().linkTo(url, null); if(organization!=null && organization.length()>0) html.br().appendParagraphs(organization); if(comments!=null && comments.length()>0) html.br().appendParagraphs(comments); return html.toString(); } @Override public String toString(){ StringBuilder sb=new StringBuilder(name); if(rol!=null && rol.length()>0) sb.append(" (").append(rol).append(")"); return sb.substring(0); } }