All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy