All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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