1 /* 2 * Copyright 2004 Sun Microsystems, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 package com.sun.syndication.feed.atom; 18 19 import com.sun.syndication.feed.impl.ObjectBean; 20 21 import java.io.Serializable; 22 23 /** 24 * Bean for person elements of Atom feeds. 25 * <p> 26 * @author Alejandro Abdelnur 27 * @author Dave Johnson (updated for Atom 1.0) 28 */ 29 public class Person implements Cloneable,Serializable { 30 31 private ObjectBean _objBean; 32 33 private String _name; 34 private String _uri; // since Atom 1.0 (was called url) 35 private String _email; 36 37 /** 38 * Default constructor. All properties are set to <b>null</b>. 39 * <p> 40 * 41 */ 42 public Person() { 43 _objBean = new ObjectBean(this.getClass(),this); 44 } 45 46 /** 47 * Creates a deep 'bean' clone of the object. 48 * <p> 49 * @return a clone of the object. 50 * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned. 51 * 52 */ 53 public Object clone() throws CloneNotSupportedException { 54 return _objBean.clone(); 55 } 56 57 /** 58 * Indicates whether some other object is "equal to" this one as defined by the Object equals() method. 59 * <p> 60 * @param other he reference object with which to compare. 61 * @return <b>true</b> if 'this' object is equal to the 'other' object. 62 * 63 */ 64 public boolean equals(Object other) { 65 return _objBean.equals(other); 66 } 67 68 /** 69 * Returns a hashcode value for the object. 70 * <p> 71 * It follows the contract defined by the Object hashCode() method. 72 * <p> 73 * @return the hashcode of the bean object. 74 * 75 */ 76 public int hashCode() { 77 return _objBean.hashCode(); 78 } 79 80 /** 81 * Returns the String representation for the object. 82 * <p> 83 * @return String representation for the object. 84 * 85 */ 86 public String toString() { 87 return _objBean.toString(); 88 } 89 90 /** 91 * Returns the person name. 92 * <p> 93 * @return the person name, <b>null</b> if none. 94 * 95 */ 96 public String getName() { 97 return _name; 98 } 99 100 /** 101 * Sets the personname. 102 * <p> 103 * @param name the person name, <b>null</b> if none. 104 * 105 */ 106 public void setName(String name) { 107 _name = name; 108 } 109 110 /** 111 * Returns the person URL (same as {@link getUri()}) 112 * <p> 113 * @return the person URL, <b>null</b> if none. 114 */ 115 public String getUrl() { 116 return _uri; 117 } 118 119 /** 120 * Sets the person URL (same as {@link setUri()}) 121 * <p> 122 * @param url the person URL, <b>null</b> if none. 123 */ 124 public void setUrl(String url) { 125 _uri = url; 126 } 127 128 /** 129 * Returns the person email. 130 * <p> 131 * @return the person email, <b>null</b> if none. 132 * 133 */ 134 public String getEmail() { 135 return _email; 136 } 137 138 /** 139 * Sets the person email. 140 * <p> 141 * @param email the person email, <b>null</b> if none. 142 * 143 */ 144 public void setEmail(String email) { 145 _email = email; 146 } 147 148 /** 149 * Returns the uri 150 * <p> 151 * @return Returns the uri. 152 * @since Atom 1.0 153 */ 154 public String getUri() { 155 return _uri; 156 } 157 158 /** 159 * Set the uri 160 * <p> 161 * @param uri The uri to set. 162 * @since Atom 1.0 163 */ 164 public void setUri(String uri) { 165 _uri = uri; 166 } 167 }