package outputter.data;
import java.util.ArrayList;
import java.util.Comparator;
import org.semanticweb.owlapi.model.OWLClass;
public abstract class Entity implements FormalConcept, Comparator<Entity>{
public String getPrimaryEntityString(){
if(this instanceof SimpleEntity) return ((SimpleEntity)this).getString();
if(this instanceof CompositeEntity) return ((CompositeEntity)this).getTheSimpleEntity().getString();
return null; //return null for other cases
}
public String getPrimaryEntityLabel(){
if(this instanceof SimpleEntity) return ((SimpleEntity)this).getLabel();
if(this instanceof CompositeEntity) return ((CompositeEntity)this).getTheSimpleEntity().getLabel();
if(this instanceof REntity) return ((REntity)this).getEntity().getPrimaryEntityLabel();
return null; //return null for other cases
}
public String getPrimaryEntityID(){
if(this instanceof SimpleEntity) return ((SimpleEntity)this).getId();
if(this instanceof CompositeEntity) return ((CompositeEntity)this).getTheSimpleEntity().getId();
return null; //return null for other cases
}
public String getPrimaryEntityOWLClassIRI(){
if(this instanceof SimpleEntity) return ((SimpleEntity)this).getClassIRI();
if(this instanceof CompositeEntity) return ((CompositeEntity)this).getTheSimpleEntity().getClassIRI();
return null; //return null for other cases
}
public boolean isOntologized(){
if(this instanceof SimpleEntity) return ((SimpleEntity)this).isOntologized();
if(this instanceof CompositeEntity) return ((CompositeEntity)this).getTheSimpleEntity().isOntologized();
return false; //return false for other cases
}
public float getPrimaryEntityScore() {
if(this instanceof SimpleEntity) return ((SimpleEntity)this).getConfidenceScore();
if(this instanceof CompositeEntity) return ((CompositeEntity)this).getTheSimpleEntity().getConfidenceScore();
return 0f;
}
public Entity clone(){
return this.clone();
}
public int compare(Entity e1, Entity e2){
return e1.content().compareTo(e2.content());
}
@Override
public boolean equals(Object e){
if(e instanceof Entity){
if(this.content().compareTo(((Entity)e).content())==0) return true;
}
return false;
}
@Override
public abstract void setSearchString(String string);
@Override
public abstract void setLabel(String label);
@Override
public abstract void setId(String id);
@Override
public abstract void setClassIRI(String IRI);
@Override
public abstract void setConfidenceScore(float score);
@Override
public abstract String getSearchString() ;
@Override
public abstract String content() ;
@Override
public abstract String getLabel();
@Override
public abstract String getId();
@Override
public abstract String getClassIRI();
@Override
public abstract float getConfidenceScore();
public abstract ArrayList<Entity> getIndividualEntities();
}