//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.annotators.patterns.data;
/**
* Holds information about a particular interaction type
*/
public class InteractionTypeDefinition {
private final String type;
private final String subType;
private final String pos;
/**
* Instantiates a new interaction type definition.
*
* @param type
* the type
* @param subType
* the sub type
* @param pos
* the pos
*/
public InteractionTypeDefinition(String type, String subType, String pos) {
this.type = type;
this.subType = subType;
this.pos = pos;
}
/**
* Gets the pos.
*
* @return the pos
*/
public String getPos() {
return pos;
}
/**
* Gets the sub type.
*
* @return the sub type
*/
public String getSubType() {
return subType;
}
/**
* Gets the type.
*
* @return the type
*/
public String getType() {
return type;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (pos == null ? 0 : pos.hashCode());
result = prime * result + (subType == null ? 0 : subType.hashCode());
result = prime * result + (type == null ? 0 : type.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
InteractionTypeDefinition other = (InteractionTypeDefinition) obj;
if (pos == null) {
if (other.pos != null) {
return false;
}
} else if (!pos.equals(other.pos)) {
return false;
}
if (subType == null) {
if (other.subType != null) {
return false;
}
} else if (!subType.equals(other.subType)) {
return false;
}
if (type == null) {
if (other.type != null) {
return false;
}
} else if (!type.equals(other.type)) {
return false;
}
return true;
}
}