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

justhalf.nlp.reader.acereader.ACESentence Maven / Gradle / Ivy

/**
 * 
 */
package justhalf.nlp.reader.acereader;

import java.util.ArrayList;
import java.util.List;

/**
 * Represents a sentence in ACEDocument
 */
public class ACESentence {

	public ACEDocument sourceDoc;
	public Span span;
	public String text;
	public List entities;
	public List relations;
	public List events;
	public List timexes;
	public List values;
	
	public ACESentence(ACEDocument sourceDoc, Span span, String text){
		this(sourceDoc, span, text, null, null, null, null, null);
	}

	public ACESentence(ACEDocument sourceDoc, Span span, String text, List entities, List relations, List events, List timexes, List values) {
		this.sourceDoc = sourceDoc;
		this.span = span;
		this.text = text;
		this.entities = avoidNull(entities);
		this.relations = avoidNull(relations);
		this.events = avoidNull(events);
		this.timexes = avoidNull(timexes);
		this.values = avoidNull(values);
	}
	
	private  List avoidNull(List list){
		if(list == null){
			list = new ArrayList();
		}
		return list;
	}
	
	public void addEntityMention(ACEEntityMention mention){
		this.entities.add(mention);
	}
	
	public void addRelationMention(ACERelationMention mention){
		this.relations.add(mention);
	}
	
	public void addEventMention(ACEEventMention mention){
		this.events.add(mention);
	}
	
	public void addTimexMention(ACETimexMention mention){
		this.timexes.add(mention);
	}
	
	public void addValueMention(ACEValueMention mention){
		this.values.add(mention);
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy