⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 person.java

📁 google gdata API 很好用的API
💻 JAVA
字号:
/* Copyright (c) 2006 Google Inc. * * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 * * 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 com.google.gdata.data;import com.google.gdata.util.common.xml.XmlWriter;import com.google.gdata.util.Namespaces;import com.google.gdata.util.ParseException;import com.google.gdata.util.XmlParser;import org.xml.sax.Attributes;import java.io.IOException;import java.util.ArrayList;import java.util.Collection;/** * Person type used for feed and entry authors and contributors. It may also * be used by services' custom elements. * *  */public class Person extends ExtensionPoint {  /**   * Class constructor.   */  public Person() {};  /**   * Constructs a new Person instance with the specified name.   */  public Person(String name) {    if (name == null)      throw new NullPointerException("Name must have a value");    this.name = name;  }  /**   * Constructs a new Person instance with the specified name, URI,   * and email address.   */  public Person(String name, String uri, String email) {    this(name);    this.uri = uri;    this.email = email;  }  /** Human-readable name. */  protected String name;  public String getName() { return name; }  public void setName(String v) { name = v; }  /** Language of name. Derived from the current state of {@code xml:lang}. */  protected String nameLang;  public String getNameLang() { return nameLang; }  public void setNameLang(String v) { nameLang = v; }  /** URI associated with the person. */  protected String uri;  public String getUri() { return uri; }  public void setUri(String v) { uri = v; }  /** Email address. */  protected String email;  public String getEmail() { return email; }  public void setEmail(String v) { email = v; }  /**   * Generates XML.   * <p>   * Designed to be used by types that reuse the standard Atom person type.   *   * @param   extProfile   *            extension profile   *   * @param   w   *            output writer   *   * @param   elementNamespace   *            namespace for XML element   *   * @param   elementName   *            name of XML element   *   * @param   attributes   *            additional attributes   *   * @throws  IOException   */  public void generate(ExtensionProfile extProfile,                       XmlWriter w,                       XmlWriter.Namespace elementNamespace,                       String elementName,                       Collection<XmlWriter.Attribute> attributes)      throws IOException {    generateStartElement(w, elementNamespace, elementName, attributes, null);    if (name != null && name.trim().length() > 0) {      ArrayList<XmlWriter.Attribute> attrs;      if (nameLang != null) {        attrs = new ArrayList<XmlWriter.Attribute>(1);        attrs.add(new XmlWriter.Attribute("xml:lang", nameLang));      } else {        attrs = null;      }      w.simpleElement(Namespaces.atomNs, "name", attrs, name);    }    if (uri != null && uri.trim().length() > 0) {      w.simpleElement(Namespaces.atomNs, "uri", null, uri);    }    if (email != null && email.trim().length() > 0) {      w.simpleElement(Namespaces.atomNs, "email", null, email);    }    // Invoke ExtensionPoint.    generateExtensions(w, extProfile);    w.endElement(elementNamespace, elementName);  }  /**   * Generates XML in the Atom format.   *   * @param   extProfile   *            extension profile   *   * @param   w   *            output writer   *   * @param   elementName   *            Atom element name   *   * @throws  IOException   */  public void generateAtom(ExtensionProfile extProfile,                           XmlWriter w,                           String elementName) throws IOException {    generate(extProfile, w, Namespaces.atomNs, elementName, null);  }  /**   * Generates XML in the RSS format.   *   * @param   w   *            output writer   *   * @param   elementName   *            RSS element name   *   * @throws  IOException   */  public void generateRss(XmlWriter w,                          String elementName) throws IOException {    String text = new String();    if (email != null) { text += email; }    if (name != null) {      if (email != null) { text += " ("; }      text += name;      if (email != null) { text += ")"; }    }    w.simpleElement(Namespaces.rssNs, elementName, null, text);  }  /** Parses XML in the Atom format. */  public class AtomHandler extends ExtensionPoint.ExtensionHandler {    public AtomHandler(ExtensionProfile extProfile) throws IOException {      super(extProfile, Person.class);    }    public XmlParser.ElementHandler getChildHandler(String namespace,                                                    String localName,                                                    Attributes attrs)        throws ParseException, IOException {      if (namespace.equals(Namespaces.atom)) {        if (localName.equals("name")) {          return new NameHandler();        } else if (localName.equals("uri")) {          return new UriHandler();        } else if (localName.equals("email")) {          return new EmailHandler();        }      } else {        return super.getChildHandler(namespace, localName, attrs);      }      return null;    }    class NameHandler extends XmlParser.ElementHandler {      public void processEndElement() throws ParseException {        if (name != null) {          throw new ParseException("Duplicate name.");        }        if (value == null) {          throw new ParseException("Name must have a value.");        }        name = value;        nameLang = xmlLang;      }    }    class UriHandler extends XmlParser.ElementHandler {      public void processEndElement() throws ParseException {        if (uri != null) {          throw new ParseException("Duplicate URI.");        }        if (value == null) {          throw new ParseException("URI must have a value.");        }        uri = value;      }    }    class EmailHandler extends XmlParser.ElementHandler {      public void processEndElement() throws ParseException {        if (email != null) {          throw new ParseException("Duplicate email.");        }        if (value == null) {          throw new ParseException("Email must have a value.");        }        email = value;      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -