com.rometools.modules.base.GoogleBaseImpl Maven / Gradle / Ivy
/*
* GoogleBaseImpl.java
*
* Created on November 16, 2005, 2:06 PM
*
* This library is provided under dual licenses. You may choose the terms of the Lesser General
* Public License or the Apache License at your discretion.
*
* Copyright (C) 2005 Robert Cooper, Temple of the Screaming Penguin
*
*
* This library is free software; you can redistribute it and/or modify it under the terms of the
* GNU Lesser General Public License as published by the Free Software Foundation; either version
* 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this library;
* if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
* 02111-1307 USA
*
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. * See the License for the specific language governing permissions and limitations
* under the License.
*/
package com.rometools.modules.base;
import java.lang.reflect.Array;
import java.net.URL;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.rometools.modules.base.types.CloneableType;
import com.rometools.modules.base.types.CurrencyEnumeration;
import com.rometools.modules.base.types.DateTimeRange;
import com.rometools.modules.base.types.FloatUnit;
import com.rometools.modules.base.types.GenderEnumeration;
import com.rometools.modules.base.types.IntUnit;
import com.rometools.modules.base.types.PaymentTypeEnumeration;
import com.rometools.modules.base.types.PriceTypeEnumeration;
import com.rometools.modules.base.types.ShippingType;
import com.rometools.modules.base.types.ShortDate;
import com.rometools.modules.base.types.Size;
import com.rometools.modules.base.types.YearType;
import com.rometools.rome.feed.CopyFrom;
import com.rometools.rome.feed.impl.EqualsBean;
/**
* This is the implementation class for the GoogleBase module interface.
*
* @author Robert "kebernet" Cooper
* @version $Revision: 1.2 $
*/
public class GoogleBaseImpl implements GoogleBase {
/**
*
*/
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(GoogleBaseImpl.class);
/** boolean:listing_type */
private Boolean listingType;
/** Can this item be picked up. */
private Boolean pickup;
/** currencyCodeEnumeration:currency */
private CurrencyEnumeration currency;
/** dateTime:expiration_date_time */
private Date expirationDateTime;
/** dateTimeRange:course_date_range */
private DateTimeRange courseDateRange;
/** dateTimeRange:event_date_range */
private DateTimeRange eventDateRange;
/** dateTimeRange:travel_date_range */
private DateTimeRange travelDateRange;
/** float:bathrooms */
private Float bathrooms;
/** float:hoa_dues */
private Float hoaDues;
/** string:rating thoug this a value from 1 to 5 */
private Float rating;
/** float:salary */
private Float salary;
/** percentType:tax_percent */
private Float taxPercent;
/** floatUnit:delivery_radius */
private FloatUnit deliveryRadius;
/** floatUnit:megapixels */
private FloatUnit megapixels;
/** floatUnit:memory */
private FloatUnit memory;
/** floatUnit:price */
private FloatUnit price;
/** floatUnit:processor_speed */
private FloatUnit processorSpeed;
/** floatUnit:weight */
private FloatUnit weight;
/** genderEnumeration:gender */
private GenderEnumeration gender;
/** intUnit:area */
private IntUnit area;
/** integer:age */
private Integer age;
/** integer:bedrooms */
private Integer bedrooms;
/** integer:mileage */
private Integer mileage;
/** integer:pages */
private Integer pages;
/** integer:quantity */
private Integer quantity;
/** locationType:from_location */
private String fromLocation;
/** locationType:location */
private String location;
/** locationType:to_location */
private String toLocation;
/** priceTypeEnumeration:price_type */
private PriceTypeEnumeration priceType;
/** starting/neg:salary_type */
private PriceTypeEnumeration salaryType;
/** date:expiration_date */
private ShortDate expirationDate;
/** date:publishedDate */
private ShortDate publishDate;
/** string:size */
private Size size;
/** string:sexual_orientation */
private String SexualOrientation;
/** string apparel_type */
private String apparelType;
/** string:brand */
private String brand;
/** string:condition */
private String condition;
/** string:course_number */
private String courseNumber;
/** string:course_times */
private String courseTimes;
/** string:delivery_notes */
private String deliveryNotes;
/** string:education */
private String education;
/** string:employer */
private String employer;
/** string:id */
private String id;
/** string:immigration_status */
private String immigrationStatus;
/** stirng:isbn */
private String isbn;
/** string:make */
private String make;
/** string:manufacturer */
private String manufacturer;
/** string:manufacturer_id */
private String manufacturerId;
/** string:marital_status */
private String maritalStatus;
/** string:model */
private String model;
/** string:model_number */
private String modelNumber;
/** string:name_of_item_being_reviewed */
private String nameOfItemBeingReviewed;
/** string:news_source */
private String newsSource;
/** string:occupation */
private String occupation;
/** string:operating_systems */
private String operatingSystems;
/** string:payment_notes */
private String paymentNotes;
/** string:publication_name */
private String publicationName;
/** string:publication_volume */
private String publicationVolume;
/** string:review_type */
private String reviewType;
/** string:reviewer_type */
private String reviewerType;
/** string:school_district */
private String schoolDistrict;
/** string:service_type */
private String serviceType;
/** string:taxRegion */
private String taxRegion;
/** string:university */
private String university;
/** string:upc */
private String upc;
/** string:vehicle_type */
private String vehicleType;
/** string:vin */
private String vin;
/** string:url_of_item_being_reviewed */
private URL urlOfItemBeingReviewed;
/** string:year */
private YearType year;
/** string:actor */
private String[] actors;
/** string:agent */
private String[] agents;
/** string:artist */
private String[] artists;
/** string:author */
private String[] authors;
/** string:color */
private String[] color;
/** string:ethnicities */
private String[] ethnicities;
/** string:format */
private String[] format;
/** url:image_links */
private URL[] imageLinks;
/** string:interested_in */
private String[] interestedIn;
/** string:job_function */
private String[] jobFunctions;
/** string:job_industry */
private String[] jobIndustries;
/** string:job_type */
private String[] jobTypes;
/** string:label */
private String[] labels;
/** string:license */
private String[] licenses;
/** paymentTypeEnumeration:payment_accepted */
private PaymentTypeEnumeration[] paymentAccepted;
/** string:product_type */
private String[] productTypes;
/** string:programming_language */
private String[] programmingLanguages;
/** string:property_type */
private String[] propertyTypes;
/** url:related_link */
private URL[] relatedLinks;
/** shippingType:shipping */
private ShippingType[] shipping;
/** intUnitType:square_footage */
private IntUnit[] squareFootages;
/** string:subject_area */
private String[] subjectAreas;
/** string:subject */
private String[] subjects;
/**
* DOCUMENT ME!
*
* @param actors
*/
@Override
public void setActors(final String[] actors) {
this.actors = actors;
}
@Override
public String[] getActors() {
return actors == null ? new String[0] : actors;
}
@Override
public void setAge(final Integer age) {
this.age = age;
}
@Override
public Integer getAge() {
return age;
}
@Override
public void setAgents(final String[] agents) {
this.agents = agents == null ? new String[0] : agents;
}
@Override
public String[] getAgents() {
return agents;
}
@Override
public void setApparelType(final String apparelType) {
this.apparelType = apparelType;
}
@Override
public String getApparelType() {
return apparelType;
}
@Override
public void setArea(final IntUnit area) {
this.area = area;
}
@Override
public IntUnit getArea() {
return area;
}
@Override
public void setArtists(final String[] artists) {
this.artists = artists;
}
@Override
public String[] getArtists() {
return artists == null ? new String[0] : artists;
}
@Override
public void setAuthors(final String[] authors) {
this.authors = authors;
}
@Override
public String[] getAuthors() {
return authors == null ? new String[0] : authors;
}
@Override
public void setBathrooms(final Float bathrooms) {
this.bathrooms = bathrooms;
}
@Override
public Float getBathrooms() {
return bathrooms;
}
@Override
public void setBedrooms(final Integer bedrooms) {
this.bedrooms = bedrooms;
}
@Override
public Integer getBedrooms() {
return bedrooms;
}
@Override
public void setBrand(final String brand) {
this.brand = brand;
}
@Override
public String getBrand() {
return brand;
}
@Override
public void setColors(final String[] color) {
this.color = color;
}
@Override
public String[] getColors() {
return color == null ? new String[0] : color;
}
@Override
public void setCondition(final String condition) {
this.condition = condition;
}
@Override
public String getCondition() {
return condition;
}
@Override
public void setCourseDateRange(final DateTimeRange courseDateRange) {
this.courseDateRange = courseDateRange;
}
@Override
public DateTimeRange getCourseDateRange() {
return courseDateRange;
}
@Override
public void setCourseNumber(final String courseNumber) {
this.courseNumber = courseNumber;
}
@Override
public String getCourseNumber() {
return courseNumber;
}
@Override
public void setCourseTimes(final String courseTimes) {
this.courseTimes = courseTimes;
}
@Override
public String getCourseTimes() {
return courseTimes;
}
@Override
public void setCurrency(final CurrencyEnumeration currency) {
this.currency = currency;
}
@Override
public CurrencyEnumeration getCurrency() {
return currency;
}
@Override
public void setDeliveryNotes(final String deliveryNotes) {
this.deliveryNotes = deliveryNotes;
}
@Override
public String getDeliveryNotes() {
return deliveryNotes;
}
@Override
public void setDeliveryRadius(final FloatUnit deliveryRadius) {
this.deliveryRadius = deliveryRadius;
}
@Override
public FloatUnit getDeliveryRadius() {
return deliveryRadius;
}
@Override
public void setEducation(final String education) {
this.education = education;
}
@Override
public String getEducation() {
return education;
}
@Override
public void setEmployer(final String employer) {
this.employer = employer;
}
@Override
public String getEmployer() {
return employer;
}
@Override
public void setEthnicities(final String[] ethnicities) {
this.ethnicities = ethnicities;
}
@Override
public String[] getEthnicities() {
return ethnicities == null ? new String[0] : ethnicities;
}
@Override
public void setEventDateRange(final DateTimeRange eventDateRange) {
this.eventDateRange = eventDateRange;
}
@Override
public DateTimeRange getEventDateRange() {
return eventDateRange;
}
@Override
public void setExpirationDate(final Date expirationDate) {
if (expirationDate != null && !(expirationDate instanceof ShortDate)) {
this.expirationDate = new ShortDate(expirationDate);
} else {
this.expirationDate = null;
}
}
@Override
public Date getExpirationDate() {
return expirationDate;
}
@Override
public void setExpirationDateTime(final Date expirationDateTime) {
this.expirationDateTime = expirationDateTime;
}
@Override
public Date getExpirationDateTime() {
return expirationDateTime;
}
@Override
public void setFormat(final String[] format) {
this.format = format;
}
@Override
public String[] getFormat() {
return format == null ? new String[0] : format;
}
@Override
public void setFromLocation(final String fromLocation) {
this.fromLocation = fromLocation;
}
@Override
public String getFromLocation() {
return fromLocation;
}
@Override
public void setGender(final GenderEnumeration gender) {
this.gender = gender;
}
@Override
public GenderEnumeration getGender() {
return gender;
}
@Override
public void setHoaDues(final Float hoaDues) {
this.hoaDues = hoaDues;
}
@Override
public Float getHoaDues() {
return hoaDues;
}
@Override
public void setId(final String id) {
this.id = id;
}
@Override
public String getId() {
return id;
}
@Override
public void setImageLinks(final URL[] imageLinks) {
this.imageLinks = imageLinks;
}
@Override
public URL[] getImageLinks() {
return imageLinks == null ? new URL[0] : imageLinks;
}
@Override
public void setImmigrationStatus(final String immigrationStatus) {
this.immigrationStatus = immigrationStatus;
}
@Override
public String getImmigrationStatus() {
return immigrationStatus;
}
@Override
public void setInterestedIn(final String[] interestedIn) {
this.interestedIn = interestedIn;
}
@Override
public String[] getInterestedIn() {
return interestedIn == null ? new String[0] : interestedIn;
}
@Override
public Class getInterface() {
return GoogleBase.class;
}
@Override
public void setIsbn(final String isbn) {
this.isbn = isbn;
}
@Override
public String getIsbn() {
return isbn;
}
@Override
public void setJobFunctions(final String[] jobFunctions) {
this.jobFunctions = jobFunctions;
}
@Override
public String[] getJobFunctions() {
return jobFunctions == null ? new String[0] : jobFunctions;
}
@Override
public void setJobIndustries(final String[] jobIndustries) {
this.jobIndustries = jobIndustries;
}
@Override
public String[] getJobIndustries() {
return jobIndustries == null ? new String[0] : jobIndustries;
}
@Override
public void setJobTypes(final String[] jobTypes) {
this.jobTypes = jobTypes;
}
@Override
public String[] getJobTypes() {
return jobTypes == null ? new String[0] : jobTypes;
}
@Override
public void setLabels(final String[] labels) {
this.labels = labels;
}
@Override
public String[] getLabels() {
return labels == null ? new String[0] : labels;
}
@Override
public void setLicenses(final String[] licenses) {
this.licenses = licenses;
}
@Override
public String[] getLicenses() {
return licenses == null ? new String[0] : licenses;
}
@Override
public void setListingType(final Boolean listingType) {
this.listingType = listingType;
}
@Override
public Boolean getListingType() {
return listingType;
}
@Override
public void setLocation(final String location) {
this.location = location;
}
@Override
public String getLocation() {
return location;
}
@Override
public void setMake(final String make) {
this.make = make;
}
@Override
public String getMake() {
return make;
}
@Override
public void setManufacturer(final String manufacturer) {
this.manufacturer = manufacturer;
}
@Override
public String getManufacturer() {
return manufacturer;
}
@Override
public void setManufacturerId(final String manufacturerId) {
this.manufacturerId = manufacturerId;
}
@Override
public String getManufacturerId() {
return manufacturerId;
}
@Override
public void setMaritalStatus(final String maritalStatus) {
this.maritalStatus = maritalStatus;
}
@Override
public String getMaritalStatus() {
return maritalStatus;
}
@Override
public void setMegapixels(final FloatUnit megapixels) {
this.megapixels = megapixels;
}
@Override
public FloatUnit getMegapixels() {
return megapixels;
}
@Override
public void setMemory(final FloatUnit memory) {
this.memory = memory;
}
@Override
public FloatUnit getMemory() {
return memory;
}
@Override
public void setMileage(final Integer mileage) {
this.mileage = mileage;
}
@Override
public Integer getMileage() {
return mileage;
}
@Override
public void setModel(final String model) {
this.model = model;
}
@Override
public String getModel() {
return model;
}
@Override
public void setModelNumber(final String modelNumber) {
this.modelNumber = modelNumber;
}
@Override
public String getModelNumber() {
return modelNumber;
}
@Override
public void setNameOfItemBeingReviewed(final String nameOfItemBeingReviewed) {
this.nameOfItemBeingReviewed = nameOfItemBeingReviewed;
}
@Override
public String getNameOfItemBeingReviewed() {
return nameOfItemBeingReviewed;
}
@Override
public void setNewsSource(final String newsSource) {
this.newsSource = newsSource;
}
@Override
public String getNewsSource() {
return newsSource;
}
@Override
public void setOccupation(final String occupation) {
this.occupation = occupation;
}
@Override
public String getOccupation() {
return occupation;
}
@Override
public void setOperatingSystems(final String operatingSystems) {
this.operatingSystems = operatingSystems;
}
@Override
public String getOperatingSystems() {
return operatingSystems;
}
@Override
public void setPages(final Integer pages) {
this.pages = pages;
}
@Override
public Integer getPages() {
return pages;
}
@Override
public void setPaymentAccepted(final PaymentTypeEnumeration[] paymentAccepted) {
this.paymentAccepted = paymentAccepted;
}
@Override
public PaymentTypeEnumeration[] getPaymentAccepted() {
return paymentAccepted == null ? new PaymentTypeEnumeration[0] : paymentAccepted;
}
@Override
public void setPaymentNotes(final String paymentNotes) {
this.paymentNotes = paymentNotes;
}
@Override
public String getPaymentNotes() {
return paymentNotes;
}
@Override
public void setPickup(final Boolean pickup) {
this.pickup = pickup;
}
@Override
public Boolean getPickup() {
return pickup;
}
@Override
public void setPrice(final FloatUnit price) {
this.price = price;
}
@Override
public FloatUnit getPrice() {
return price;
}
@Override
public void setPriceType(final PriceTypeEnumeration priceType) {
this.priceType = priceType;
}
@Override
public PriceTypeEnumeration getPriceType() {
return priceType;
}
@Override
public void setProcessorSpeed(final FloatUnit processorSpeed) {
this.processorSpeed = processorSpeed;
}
@Override
public FloatUnit getProcessorSpeed() {
return processorSpeed;
}
@Override
public void setProductTypes(final String[] productTypes) {
this.productTypes = productTypes;
}
@Override
public String[] getProductTypes() {
return productTypes == null ? new String[0] : productTypes;
}
@Override
public void setProgrammingLanguages(final String[] programmingLanguages) {
this.programmingLanguages = programmingLanguages;
}
@Override
public String[] getProgrammingLanguages() {
return programmingLanguages == null ? new String[0] : programmingLanguages;
}
@Override
public void setPropertyTypes(final String[] propertyTypes) {
this.propertyTypes = propertyTypes;
}
@Override
public String[] getPropertyTypes() {
return propertyTypes == null ? new String[0] : propertyTypes;
}
@Override
public void setPublicationName(final String publicationName) {
this.publicationName = publicationName;
}
@Override
public String getPublicationName() {
return publicationName;
}
@Override
public void setPublicationVolume(final String publicationVolume) {
this.publicationVolume = publicationVolume;
}
@Override
public String getPublicationVolume() {
return publicationVolume;
}
@Override
public void setPublishDate(final Date publishDate) {
if (publishDate != null && !(publishDate instanceof ShortDate)) {
this.publishDate = new ShortDate(publishDate);
} else {
this.publishDate = null;
}
}
@Override
public Date getPublishDate() {
return publishDate;
}
@Override
public void setQuantity(final Integer quantity) {
this.quantity = quantity;
}
@Override
public Integer getQuantity() {
return quantity;
}
@Override
public void setRating(final Float rating) {
this.rating = rating;
}
@Override
public Float getRating() {
return rating;
}
@Override
public void setRelatedLinks(final URL[] relatedLinks) {
this.relatedLinks = relatedLinks;
}
@Override
public URL[] getRelatedLinks() {
return relatedLinks == null ? new URL[0] : relatedLinks;
}
@Override
public void setReviewType(final String reviewType) {
this.reviewType = reviewType;
}
@Override
public String getReviewType() {
return reviewType;
}
@Override
public void setReviewerType(final String reviewerType) {
this.reviewerType = reviewerType;
}
@Override
public String getReviewerType() {
return reviewerType;
}
@Override
public void setSalary(final Float salary) {
this.salary = salary;
}
@Override
public Float getSalary() {
return salary;
}
@Override
public void setSalaryType(final PriceTypeEnumeration salaryType) {
this.salaryType = salaryType;
}
@Override
public PriceTypeEnumeration getSalaryType() {
return salaryType;
}
@Override
public void setSchoolDistrict(final String schoolDistrict) {
this.schoolDistrict = schoolDistrict;
}
@Override
public String getSchoolDistrict() {
return schoolDistrict;
}
@Override
public void setServiceType(final String serviceType) {
this.serviceType = serviceType;
}
@Override
public String getServiceType() {
return serviceType;
}
@Override
public void setSexualOrientation(final String SexualOrientation) {
this.SexualOrientation = SexualOrientation;
}
@Override
public String getSexualOrientation() {
return SexualOrientation;
}
@Override
public void setShipping(final ShippingType[] shipping) {
this.shipping = shipping;
}
@Override
public ShippingType[] getShipping() {
return shipping == null ? new ShippingType[0] : shipping;
}
@Override
public void setSize(final Size size) {
this.size = size;
}
@Override
public Size getSize() {
return size;
}
@Override
public void setSquareFootages(final IntUnit[] squareFootages) {
this.squareFootages = squareFootages;
}
@Override
public IntUnit[] getSquareFootages() {
return squareFootages == null ? new IntUnit[0] : squareFootages;
}
@Override
public void setSubjectAreas(final String[] subjectAreas) {
this.subjectAreas = subjectAreas;
}
@Override
public String[] getSubjectAreas() {
return subjectAreas == null ? new String[0] : subjectAreas;
}
@Override
public void setSubjects(final String[] subjects) {
this.subjects = subjects;
}
@Override
public String[] getSubjects() {
return subjects == null ? new String[0] : subjects;
}
@Override
public void setTaxPercent(final Float taxPercent) {
this.taxPercent = taxPercent;
}
@Override
public Float getTaxPercent() {
return taxPercent;
}
@Override
public void setTaxRegion(final String taxRegion) {
this.taxRegion = taxRegion;
}
@Override
public String getTaxRegion() {
return taxRegion;
}
@Override
public void setToLocation(final String toLocation) {
this.toLocation = toLocation;
}
@Override
public String getToLocation() {
return toLocation;
}
@Override
public void setTravelDateRange(final DateTimeRange travelDateRange) {
this.travelDateRange = travelDateRange;
}
@Override
public DateTimeRange getTravelDateRange() {
return travelDateRange;
}
@Override
public void setUniversity(final String university) {
this.university = university;
}
@Override
public String getUniversity() {
return university;
}
@Override
public void setUpc(final String upc) {
this.upc = upc;
}
@Override
public String getUpc() {
return upc;
}
@Override
public String getUri() {
return GoogleBase.URI;
}
@Override
public void setUrlOfItemBeingReviewed(final URL urlOfItemBeingReviewed) {
this.urlOfItemBeingReviewed = urlOfItemBeingReviewed;
}
@Override
public URL getUrlOfItemBeingReviewed() {
return urlOfItemBeingReviewed;
}
@Override
public void setVehicleType(final String vehicleType) {
this.vehicleType = vehicleType;
}
@Override
public String getVehicleType() {
return vehicleType;
}
@Override
public void setVin(final String vin) {
this.vin = vin;
}
@Override
public String getVin() {
return vin;
}
@Override
public void setWeight(final FloatUnit weight) {
this.weight = weight;
}
@Override
public FloatUnit getWeight() {
return weight;
}
@Override
public void setYear(final YearType year) {
this.year = year;
}
@Override
public YearType getYear() {
return year;
}
// TODO: Finish
@Override
public Object clone() throws CloneNotSupportedException {
try {
final GoogleBaseImpl gbi = new GoogleBaseImpl();
gbi.copyFrom(this);
return gbi;
} catch (final Exception e) {
LOG.error("Error", e);
throw new CloneNotSupportedException();
}
}
@Override
public void copyFrom(final CopyFrom obj) {
if (!(obj instanceof GoogleBase)) {
return;
}
final GoogleBase source = (GoogleBase) obj;
setActors((String[]) arrayCopy(source.getActors()));
setAge(source.getAge());
setAgents((String[]) arrayCopy(source.getAgents()));
setApparelType(source.getApparelType());
setArea(source.getArea());
setArtists((String[]) arrayCopy(source.getArtists()));
setAuthors((String[]) arrayCopy(source.getAuthors()));
setBathrooms(source.getBathrooms());
setBedrooms(source.getBedrooms());
setBrand(source.getBrand());
setColors((String[]) arrayCopy(source.getColors()));
setCondition(source.getCondition());
setCourseDateRange((DateTimeRange) cloneOrNull(source.getCourseDateRange()));
setCourseNumber(source.getCourseNumber());
setCourseTimes(source.getCourseTimes());
setDeliveryNotes(source.getDeliveryNotes());
setDeliveryRadius(source.getDeliveryRadius());
setEducation(source.getEducation());
setEmployer(source.getEmployer());
setEthnicities((String[]) arrayCopy(source.getEthnicities()));
setEventDateRange((DateTimeRange) cloneOrNull(source.getEventDateRange()));
setExpirationDate(dateOrNull(source.getExpirationDate()));
setExpirationDateTime(dateOrNull(source.getExpirationDateTime()));
setFormat(source.getFormat());
setFromLocation(source.getFromLocation());
setGender(source.getGender());
setHoaDues(source.getHoaDues());
setId(source.getId());
setImageLinks((URL[]) arrayCopy(source.getImageLinks()));
setImmigrationStatus(source.getImmigrationStatus());
setInterestedIn(source.getInterestedIn());
setIsbn(source.getIsbn());
setJobFunctions((String[]) arrayCopy(source.getJobFunctions()));
setJobIndustries((String[]) arrayCopy(source.getJobIndustries()));
setJobTypes((String[]) arrayCopy(source.getJobTypes()));
setLabels((String[]) arrayCopy(source.getLabels()));
setListingType(source.getListingType());
setLocation(source.getLocation());
setMake(source.getMake());
setManufacturer(source.getManufacturer());
setManufacturerId(source.getManufacturerId());
setMaritalStatus(source.getMaritalStatus());
setMegapixels(source.getMegapixels());
setMemory(source.getMemory());
setMileage(source.getMileage());
setModel(source.getModel());
setModelNumber(source.getModelNumber());
setNameOfItemBeingReviewed(source.getNameOfItemBeingReviewed());
setNewsSource(source.getNewsSource());
setOccupation(source.getOccupation());
setPages(source.getPages());
setPaymentAccepted((PaymentTypeEnumeration[]) arrayCopy(source.getPaymentAccepted()));
setPaymentNotes(source.getPaymentNotes());
setPickup(source.getPickup());
setPrice(source.getPrice());
setPriceType(source.getPriceType());
setProcessorSpeed(source.getProcessorSpeed());
setProductTypes((String[]) arrayCopy(source.getProductTypes()));
setPropertyTypes((String[]) arrayCopy(source.getPropertyTypes()));
setPublicationName(source.getPublicationName());
setPublicationVolume(source.getPublicationVolume());
setPublishDate(dateOrNull(source.getPublishDate()));
setQuantity(source.getQuantity());
setRating(source.getRating());
setReviewType(source.getReviewType());
setReviewerType(source.getReviewerType());
setSalary(source.getSalary());
setSalaryType(source.getSalaryType());
setServiceType(source.getServiceType());
setSexualOrientation(source.getSexualOrientation());
setShipping((ShippingType[]) arrayCopy(source.getShipping()));
setSize(source.getSize());
setSubjects((String[]) arrayCopy(source.getSubjects()));
setTaxPercent(source.getTaxPercent());
setTaxRegion(source.getTaxRegion());
setToLocation(source.getToLocation());
setTravelDateRange((DateTimeRange) cloneOrNull(source.getTravelDateRange()));
setUpc(source.getUpc());
setUrlOfItemBeingReviewed(source.getUrlOfItemBeingReviewed());
setVehicleType(source.getVehicleType());
setVin(source.getVin());
setYear(source.getYear());
setLicenses((String[]) arrayCopy(source.getLicenses()));
setRelatedLinks((URL[]) arrayCopy(source.getRelatedLinks()));
setSubjectAreas((String[]) arrayCopy(source.getSubjectAreas()));
setProgrammingLanguages((String[]) arrayCopy(source.getProgrammingLanguages()));
setSquareFootages((IntUnit[]) arrayCopy(source.getSquareFootages()));
setCurrency(source.getCurrency());
setSchoolDistrict(source.getSchoolDistrict());
setUniversity(source.getUniversity());
setWeight(source.getWeight());
setOperatingSystems(source.getOperatingSystems());
}
@Override
public boolean equals(final Object obj) {
final EqualsBean eBean = new EqualsBean(this.getClass(), this);
return eBean.beanEquals(obj);
}
private Object arrayCopy(final Object[] source) {
if (source == null) {
return null;
}
final Object[] array = (Object[]) Array.newInstance(source.getClass().getComponentType(), source.length);
for (int i = 0; i < source.length; i++) {
array[i] = source[i];
}
return array;
}
private Object cloneOrNull(final CloneableType o) {
if (o == null) {
return null;
} else {
return o.clone();
}
}
private Date dateOrNull(final Date date) {
if (date == null) {
return null;
} else {
return new Date(date.getTime());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy