Source code: com/sun/syndication/feed/atom/Person.java
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 }