001: /*
002: * Copyright 2004 Sun Microsystems, Inc.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: *
016: */
017: package com.sun.syndication.feed.rss;
018:
019: import com.sun.syndication.feed.impl.ObjectBean;
020:
021: import java.io.Serializable;
022:
023: /**
024: * Bean for item sources of RSS feeds.
025: * <p>
026: * @author Alejandro Abdelnur
027: *
028: */
029: public class Source implements Cloneable, Serializable {
030: private ObjectBean _objBean;
031: private String _url;
032: private String _value;
033:
034: /**
035: * Default constructor. All properties are set to <b>null</b>.
036: * <p>
037: *
038: */
039: public Source() {
040: _objBean = new ObjectBean(this .getClass(), this );
041: }
042:
043: /**
044: * Creates a deep 'bean' clone of the object.
045: * <p>
046: * @return a clone of the object.
047: * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
048: *
049: */
050: public Object clone() throws CloneNotSupportedException {
051: return _objBean.clone();
052: }
053:
054: /**
055: * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
056: * <p>
057: * @param other he reference object with which to compare.
058: * @return <b>true</b> if 'this' object is equal to the 'other' object.
059: *
060: */
061: public boolean equals(Object other) {
062: return _objBean.equals(other);
063: }
064:
065: /**
066: * Returns a hashcode value for the object.
067: * <p>
068: * It follows the contract defined by the Object hashCode() method.
069: * <p>
070: * @return the hashcode of the bean object.
071: *
072: */
073: public int hashCode() {
074: return _objBean.hashCode();
075: }
076:
077: /**
078: * Returns the String representation for the object.
079: * <p>
080: * @return String representation for the object.
081: *
082: */
083: public String toString() {
084: return _objBean.toString();
085: }
086:
087: /**
088: * Returns the source URL.
089: * <p>
090: * @return the source URL, <b>null</b> if none.
091: *
092: */
093: public String getUrl() {
094: return _url;
095: }
096:
097: /**
098: * Sets the source URL.
099: * <p>
100: * @param url the source URL to set, <b>null</b> if none.
101: *
102: */
103: public void setUrl(String url) {
104: _url = url;
105: }
106:
107: /**
108: * Returns the source value.
109: * <p>
110: * @return the source value, <b>null</b> if none.
111: *
112: */
113: public String getValue() {
114: return _value;
115: }
116:
117: /**
118: * Sets the source value.
119: * <p>
120: * @param value the source value to set, <b>null</b> if none.
121: *
122: */
123: public void setValue(String value) {
124: _value = value;
125: }
126: }
|