1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.sun.syndication.feed.module;
18
19 import com.sun.syndication.feed.impl.ObjectBean;
20
21 import java.io.Serializable;
22
23 /***
24 * Base class for modules describing Metadata of feeds, default implementations.
25 * Examples of such modules are the Dublin Core and Syndication modules.
26 * <p>
27 * @author Alejandro Abdelnur
28 *
29 */
30 public abstract class ModuleImpl implements Cloneable,Serializable,Module {
31 private ObjectBean _objBean;
32 private String _uri;
33
34 /***
35 * Constructor.
36 * <p>
37 * @param uri URI of the module.
38 *
39 */
40 protected ModuleImpl(Class beanClass,String uri) {
41 _objBean = new ObjectBean(beanClass,this);
42 _uri = uri;
43 }
44
45 /***
46 * Creates a deep 'bean' clone of the object.
47 * <p>
48 * @return a clone of the object.
49 * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
50 *
51 */
52 public Object clone() throws CloneNotSupportedException {
53 return _objBean.clone();
54 }
55
56 /***
57 * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
58 * <p>
59 * @param other he reference object with which to compare.
60 * @return <b>true</b> if 'this' object is equal to the 'other' object.
61 *
62 */
63 public boolean equals(Object other) {
64 return _objBean.equals(other);
65 }
66
67 /***
68 * Returns a hashcode value for the object.
69 * <p>
70 * It follows the contract defined by the Object hashCode() method.
71 * <p>
72 * @return the hashcode of the bean object.
73 *
74 */
75 public int hashCode() {
76 return _objBean.hashCode();
77 }
78
79 /***
80 * Returns the String representation for the object.
81 * <p>
82 * @return String representation for the object.
83 *
84 */
85 public String toString() {
86 return _objBean.toString();
87 }
88
89 /***
90 * Returns the URI of the module.
91 * <p>
92 * @return URI of the module.
93 *
94 */
95 public String getUri() {
96 return _uri;
97 }
98
99 }