package edu.asu.spring.quadriga.service.network.domain.impl;
import java.util.List;
import edu.asu.spring.quadriga.domain.enums.ETextAccessibility;
import edu.asu.spring.quadriga.domain.workbench.IProject;
public class TextOccurance {
private String textUri;
private String textId;
private String contents;
private IProject project;
private ETextAccessibility access;
private List<TextPhrase> textPhrases;
public String getTextUri() {
return textUri;
}
public void setTextUri(String textUri) {
this.textUri = textUri;
}
public ETextAccessibility getAccess() {
return access;
}
public void setAccess(ETextAccessibility access) {
this.access = access;
}
public List<TextPhrase> getTextPhrases() {
return textPhrases;
}
public void setTextPhrases(List<TextPhrase> textPhrases) {
this.textPhrases = textPhrases;
}
public IProject getProject() {
return project;
}
public void setProject(IProject project) {
this.project = project;
}
public String getTextId() {
return textId;
}
public void setTextId(String textId) {
this.textId = textId;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((access == null) ? 0 : access.hashCode());
result = prime * result + ((contents == null) ? 0 : contents.hashCode());
if (project != null) {
result = prime * result + ((project.getProjectId() == null) ? 0 : project.getProjectId().hashCode());
}
result = prime * result + ((textId == null) ? 0 : textId.hashCode());
int phrasesSum = 0;
if (textPhrases != null) {
for (TextPhrase phrase : textPhrases) {
phrasesSum += phrase == null ? 0 : phrase.hashCode();
}
}
result = prime * result + phrasesSum;
result = prime * result + ((textUri == null) ? 0 : textUri.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;
TextOccurance other = (TextOccurance) obj;
if (access != other.access)
return false;
if (contents == null) {
if (other.contents != null)
return false;
} else if (!contents.equals(other.contents))
return false;
if (project == null) {
if (other.project != null)
return false;
} else if (project != null) {
if (other.project == null)
return false;
} else if (!project.getProjectId().equals(other.project.getProjectId()))
return false;
if (textId == null) {
if (other.textId != null)
return false;
} else if (!textId.equals(other.textId))
return false;
if (textPhrases == null) {
if (other.textPhrases != null)
return false;
} else if (!textPhrases.containsAll(other.textPhrases) && other.textPhrases.containsAll(textPhrases))
return false;
if (textUri == null) {
if (other.textUri != null)
return false;
} else if (!textUri.equals(other.textUri))
return false;
return true;
}
}