ProductData extends CandlepinDTO implements ProductInfo { @Override public boolean equals(Object obj) { if (obj == null || !(obj instanceof ProductData)) { return false; } if (obj == this) { return true; } ProductData that = (ProductData) obj; EqualsBuilder builder = new EqualsBuilder() .append(this.uuid, that.uuid) .append(this.id, that.id) .append(this.name, that.name) .append(this.multiplier, that.multiplier) .append(this.attributes, that.attributes) .append(this.content, that.content) .append(this.dependentProductIds, that.dependentProductIds) .append(this.branding, that.branding) .append(this.href, that.href) .append(this.locked, that.locked); return super.equals(obj) && builder.isEquals(); } ProductData();  ProductData(String id, String name);  ProductData(ProductData source);  ProductData(Product source); String getUuid(); ProductData setUuid(String uuid); String getId(); ProductData setId(String id); String getName(); ProductData setName(String name); Long getMultiplier(); ProductData setMultiplier(Long multiplier); Map<String, String> getAttributes(); @XmlTransient String getAttributeValue(String key); @XmlTransient boolean hasAttribute(String key); ProductData setAttribute(String key, String value); boolean removeAttribute(String key); ProductData setAttributes(Map<String, String> attributes); Collection<ProductContentData> getProductContent(); ProductContentData getProductContent(String contentId); boolean hasContent(String contentId); boolean addProductContent(ProductContentData contentData); boolean addProductContent(ProductContent productContent); boolean addContent(ContentData contentData, boolean enabled); boolean addContent(Content content, boolean enabled); boolean removeContent(String contentId); boolean removeContent(Content content); boolean removeContent(ContentData contentData); boolean removeProductContent(ProductContent content); boolean removeProductContent(ProductContentData contentData); ProductData setProductContent(Collection<ProductContentData> content); Collection<String> getDependentProductIds(); boolean addDependentProductId(String productId); boolean removeDependentProductId(String productId); ProductData setDependentProductIds(Collection<String> dependentProductIds); Collection<Branding> getBranding(); ProductData setBranding(Collection<Branding> branding); boolean addBranding(Branding branding); boolean removeBranding(Branding branding); String getHref(); ProductData setHref(String href); @XmlTransient Boolean isLocked(); ProductData setLocked(Boolean locked); @Override String toString(); @Override boolean equals(Object obj); @Override int hashCode(); @Override Object clone(); ProductData populate(ProductData source); ProductData populate(Product source); static final long serialVersionUID; }
@Test public void testBaseEquality() { ProductData lhs = new ProductData(); ProductData rhs = new ProductData(); assertFalse(lhs.equals(null)); assertTrue(lhs.equals(lhs)); assertTrue(rhs.equals(rhs)); assertTrue(lhs.equals(rhs)); assertTrue(rhs.equals(lhs)); }