
uk.ac.shef.dcs.kbsearch.model.Resource Maven / Gradle / Ivy
The newest version!
package uk.ac.shef.dcs.kbsearch.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
*
*/
public abstract class Resource implements Serializable {
private static final long serialVersionUID = -1208424489000405913L;
protected String id; //id, uri
protected String label; //label
protected List attributes;
private String description; //a description, if available
private Set aliases; //aliases, if available
public String getDescription(){
if(description==null||description.equals("")){
for(Attribute attr: getAttributes()){
if(attr.isDirect()&&attr.isDescription()) {
description = attr.getValue();
break;
}
}
}
if(description==null)
description="";
return description;
}
public Set getAliases(){
if(aliases==null) {
aliases = new HashSet<>();
return aliases;
}
if(aliases.size()==0){
for(Attribute attr: getAttributes()){
if(attr.isDirect()&&attr.isAlias() && !attr.getValue().equals(getLabel())) {
aliases.add(attr.getValue());
}
}
}
return aliases;
}
public List getAttributes() {
if(attributes==null)
attributes=new ArrayList<>();
return attributes;
}
public void setAttributes(List attributes) {
this.attributes = attributes;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public boolean equals(Object o) {
if (o instanceof Resource) {
Resource r = (Resource) o;
return r.getId().equals(this.getId());
}
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy