package com.formulasearchengine.mathosphere.mlp.pojos;
import com.google.common.hash.HashFunction;
import com.google.common.hash.Hashing;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.nio.charset.StandardCharsets;
public class WikidataLink {
private static final HashFunction HASHER = Hashing.md5();
private final int position;
private final String content;
private String title;
public String getTitle() {
return title;
}
public WikidataLink setTitle(String title) {
this.title = title;
return this;
}
public WikidataLink(int position, String content) {
this.position = position;
this.content = content;
}
public WikidataLink(String linkName) {
content = linkName;
position = 0;
}
public int getPosition() {
return position;
}
public String getContent() {
return content;
}
public String getTagContent() {
return content.replaceAll("<math.*?>", "").replaceAll("</math>", "");
}
public String getContentHash() {
return HASHER.hashString(content, StandardCharsets.UTF_8).toString();
}
public String placeholder() {
return "LINK_" + getContentHash();
}
@Override
public String toString() {
return "Link [position=" + position + ", content=" + content + "]";
}
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj);
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
}