package rocks.inspectit.shared.cs.ci.profile.data; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlElementRefs; import javax.xml.bind.annotation.XmlRootElement; import rocks.inspectit.shared.cs.ci.assignment.impl.JmxBeanSensorAssignment; /** * Profile data holding {@link JmxBeanSensorAssignment}s. * * @author Ivan Senic * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "jmx-definition-profile-data") public class JmxDefinitionProfileData extends AbstractProfileData<List<JmxBeanSensorAssignment>> { /** * Name. */ private static final String NAME = "JMX Definitions"; /** * Definitions of the JMX beans/attributes to monitor. */ @XmlElementRefs({ @XmlElementRef(type = JmxBeanSensorAssignment.class) }) private List<JmxBeanSensorAssignment> jmxBeanAssignments; /** * {@inheritDoc} */ @Override public List<JmxBeanSensorAssignment> getData() { return jmxBeanAssignments; } /** * {@inheritDoc} */ @Override public String getName() { return NAME; } /** * Gets {@link #jmxBeanAssignments}. * * @return {@link #jmxBeanAssignments} */ public List<JmxBeanSensorAssignment> getJmxBeanAssignments() { return jmxBeanAssignments; } /** * Sets {@link #jmxBeanAssignments}. * * @param jmxBeanAssignments * New value for {@link #jmxBeanAssignments} */ public void setJmxBeanAssignments(List<JmxBeanSensorAssignment> jmxBeanAssignments) { this.jmxBeanAssignments = jmxBeanAssignments; } /** * {@inheritDoc} */ @Override public int hashCode() { final int prime = 31; int result = 1; result = (prime * result) + ((jmxBeanAssignments == null) ? 0 : jmxBeanAssignments.hashCode()); return result; } /** * {@inheritDoc} */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } JmxDefinitionProfileData other = (JmxDefinitionProfileData) obj; if (jmxBeanAssignments == null) { if (other.jmxBeanAssignments != null) { return false; } } else if (!jmxBeanAssignments.equals(other.jmxBeanAssignments)) { return false; } return true; } }