com.sun.syndication.feed.impl
Class ObjectBean

java.lang.Object
  extended by com.sun.syndication.feed.impl.ObjectBean
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class ObjectBean
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Convenience class providing clone(), toString(), equals() and hashCode() functionality for Java Beans.

It works on all read/write properties, recursively.

It uses the CloneableBean, EqualsBean and ToStringBean classes in a delegation pattern.

ObjectBean programming conventions

All ObjectBean subclasses having properties that return collections they should never return null if the property has been set to null or if a collection has not been set. They should create and return an empty collection, this empty collection instance should also be set to the corresponding property.

All ObjectBean subclasses properties should be live references.

Author:
Alejandro Abdelnur
See Also:
Serialized Form

Field Summary
private  CloneableBean _cloneableBean
           
private  EqualsBean _equalsBean
           
private  ToStringBean _toStringBean
           
 
Constructor Summary
ObjectBean(java.lang.Class beanClass, java.lang.Object obj)
          Constructor.
ObjectBean(java.lang.Class beanClass, java.lang.Object obj, java.util.Set ignoreProperties)
          Constructor.
 
Method Summary
 java.lang.Object clone()
          Creates a deep 'bean' clone of the object.
 boolean equals(java.lang.Object other)
          Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
 int hashCode()
          Returns a hashcode value for the object.
 java.lang.String toString()
          Returns the String representation for the object.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_equalsBean

private EqualsBean _equalsBean

_toStringBean

private ToStringBean _toStringBean

_cloneableBean

private CloneableBean _cloneableBean
Constructor Detail

ObjectBean

public ObjectBean(java.lang.Class beanClass,
                  java.lang.Object obj)
Constructor.

Parameters:
beanClass - the class/interface to be used for property scanning.

ObjectBean

public ObjectBean(java.lang.Class beanClass,
                  java.lang.Object obj,
                  java.util.Set ignoreProperties)
Constructor.

The property names in the ignoreProperties Set will not be copied into the cloned instance. This is useful for cases where the Bean has convenience properties (properties that are actually references to other properties or properties of properties). For example SyndFeed and SyndEntry beans have convenience properties, publishedDate, author, copyright and categories all of them mapped to properties in the DC Module.

Parameters:
beanClass - the class/interface to be used for property scanning.
ignoreProperties - properties to ignore when cloning.
Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates a deep 'bean' clone of the object.

Overrides:
clone in class java.lang.Object
Returns:
a clone of the object.
Throws:
java.lang.CloneNotSupportedException - thrown if an element of the object cannot be cloned.

equals

public boolean equals(java.lang.Object other)
Indicates whether some other object is "equal to" this one as defined by the Object equals() method.

Overrides:
equals in class java.lang.Object
Parameters:
other - he reference object with which to compare.
Returns:
true if 'this' object is equal to the 'other' object.

hashCode

public int hashCode()
Returns a hashcode value for the object.

It follows the contract defined by the Object hashCode() method.

Overrides:
hashCode in class java.lang.Object
Returns:
the hashcode of the bean object.

toString

public java.lang.String toString()
Returns the String representation for the object.

Overrides:
toString in class java.lang.Object
Returns:
String representation for the object.


Copyright © Sun Microsystems. All Rights Reserved.