View Javadoc

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 }