package rocks.inspectit.shared.all.communication.data.cmr; import org.codehaus.jackson.annotate.JsonIgnore; /** * Data object representing a recognized business transaction of an application. * * @author Alexander Wert * */ public class BusinessTransactionData { /** * Business transaction identifier. */ private int id; /** * Identifier of corresponding business transaction definition. */ private int businessTransactionDefinitionId; /** * {@link ApplicationData} instance this business transaction belongs to. */ @JsonIgnore private ApplicationData application; /** * Name of the business transaction. */ private String name; /** * Default Constructor. */ public BusinessTransactionData() { } /** * Constructor. * * @param id * business transaction identifier. * @param businessTransactionDefinitionId * identifier of corresponding business transaction definition. * @param application * {@link ApplicationData} instance this business transaction belongs to. * @param name * name of the business transaction. */ public BusinessTransactionData(int id, int businessTransactionDefinitionId, ApplicationData application, String name) { this.businessTransactionDefinitionId = businessTransactionDefinitionId; this.id = id; this.application = application; this.name = name; } /** * Gets {@link #id}. * * @return {@link #id} */ public int getId() { return id; } /** * Sets {@link #id}. * * @param id * New value for {@link #id} */ public void setId(int id) { this.id = id; } /** * Gets {@link #applicationId}. * * @return {@link #applicationId} */ public ApplicationData getApplication() { return application; } /** * Sets {@link #application}. * * @param application * New value for {@link #application} */ public void setApplication(ApplicationData application) { this.application = application; } /** * Gets {@link #name}. * * @return {@link #name} */ public String getName() { return name; } /** * Sets {@link #name}. * * @param name * New value for {@link #name} */ public void setName(String name) { this.name = name; } /** * Gets {@link #businessTransactionDefinitionId}. * * @return {@link #businessTransactionDefinitionId} */ public int getBusinessTransactionDefinitionId() { return businessTransactionDefinitionId; } /** * Sets {@link #businessTransactionDefinitionId}. * * @param businessTransactionDefinitionId * New value for {@link #businessTransactionDefinitionId} */ public void setBusinessTransactionDefinitionId(int businessTransactionDefinitionId) { this.businessTransactionDefinitionId = businessTransactionDefinitionId; } /** * {@inheritDoc} */ @Override public int hashCode() { final int prime = 31; int result = 1; result = (prime * result) + ((this.application == null) ? 0 : this.application.hashCode()); result = (prime * result) + this.businessTransactionDefinitionId; result = (prime * result) + this.id; result = (prime * result) + ((this.name == null) ? 0 : this.name.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; } BusinessTransactionData other = (BusinessTransactionData) obj; if (this.application == null) { if (other.application != null) { return false; } } else if (!this.application.equals(other.application)) { return false; } if (this.businessTransactionDefinitionId != other.businessTransactionDefinitionId) { return false; } if (this.id != other.id) { return false; } if (this.name == null) { if (other.name != null) { return false; } } else if (!this.name.equals(other.name)) { return false; } return true; } }