com.dell.cpsd.hal.data.provider.api.DeviceDiscoveryCriteria Maven / Gradle / Ivy
package com.dell.cpsd.hal.data.provider.api;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
/**
* DeviceDiscoveryCriteria
*
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"elementIdentity",
"absoluteIdentity",
"elementDefinition",
"elementEndpoints"
})
public class DeviceDiscoveryCriteria {
/**
* ElementIdentity
*
*
*
*/
@JsonProperty("elementIdentity")
private ElementIdentity elementIdentity;
/**
* AbsoluteIdentity
*
*
*
*/
@JsonProperty("absoluteIdentity")
private AbsoluteIdentity absoluteIdentity;
/**
* ElementDefinition
*
*
*
*/
@JsonProperty("elementDefinition")
private ElementDefinition elementDefinition;
@JsonProperty("elementEndpoints")
private List elementEndpoints = new ArrayList();
/**
* No args constructor for use in serialization
*
*/
public DeviceDiscoveryCriteria() {
}
/**
*
* @param absoluteIdentity
* @param elementEndpoints
* @param elementIdentity
* @param elementDefinition
*/
public DeviceDiscoveryCriteria(ElementIdentity elementIdentity, AbsoluteIdentity absoluteIdentity, ElementDefinition elementDefinition, List elementEndpoints) {
super();
this.elementIdentity = elementIdentity;
this.absoluteIdentity = absoluteIdentity;
this.elementDefinition = elementDefinition;
this.elementEndpoints = elementEndpoints;
}
/**
* ElementIdentity
*
*
*
* @return
* The elementIdentity
*/
@JsonProperty("elementIdentity")
public ElementIdentity getElementIdentity() {
return elementIdentity;
}
/**
* ElementIdentity
*
*
*
* @param elementIdentity
* The elementIdentity
*/
@JsonProperty("elementIdentity")
public void setElementIdentity(ElementIdentity elementIdentity) {
this.elementIdentity = elementIdentity;
}
/**
* AbsoluteIdentity
*
*
*
* @return
* The absoluteIdentity
*/
@JsonProperty("absoluteIdentity")
public AbsoluteIdentity getAbsoluteIdentity() {
return absoluteIdentity;
}
/**
* AbsoluteIdentity
*
*
*
* @param absoluteIdentity
* The absoluteIdentity
*/
@JsonProperty("absoluteIdentity")
public void setAbsoluteIdentity(AbsoluteIdentity absoluteIdentity) {
this.absoluteIdentity = absoluteIdentity;
}
/**
* ElementDefinition
*
*
*
* @return
* The elementDefinition
*/
@JsonProperty("elementDefinition")
public ElementDefinition getElementDefinition() {
return elementDefinition;
}
/**
* ElementDefinition
*
*
*
* @param elementDefinition
* The elementDefinition
*/
@JsonProperty("elementDefinition")
public void setElementDefinition(ElementDefinition elementDefinition) {
this.elementDefinition = elementDefinition;
}
/**
*
* @return
* The elementEndpoints
*/
@JsonProperty("elementEndpoints")
public List getElementEndpoints() {
return elementEndpoints;
}
/**
*
* @param elementEndpoints
* The elementEndpoints
*/
@JsonProperty("elementEndpoints")
public void setElementEndpoints(List elementEndpoints) {
this.elementEndpoints = elementEndpoints;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(elementIdentity).append(absoluteIdentity).append(elementDefinition).append(elementEndpoints).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof DeviceDiscoveryCriteria) == false) {
return false;
}
DeviceDiscoveryCriteria rhs = ((DeviceDiscoveryCriteria) other);
return new EqualsBuilder().append(elementIdentity, rhs.elementIdentity).append(absoluteIdentity, rhs.absoluteIdentity).append(elementDefinition, rhs.elementDefinition).append(elementEndpoints, rhs.elementEndpoints).isEquals();
}
}