package gr.uoa.di.webui.search;

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

public class Query {
	
	List<FieldCriterion> baseCriteria;
	List<FieldCriterion> refineCriteria;
	
	public List<FieldCriterion> getBaseCriteria() {
		return baseCriteria;
	}
	
	public void setBaseCriteria(List<FieldCriterion> baseCriteria) {
		this.baseCriteria = baseCriteria;
	}
	
	public List<FieldCriterion> getRefineCriteria() {
		return refineCriteria;
	}
	
	public void setRefineCriteria(List<FieldCriterion> refineCriteria) {
		this.refineCriteria = refineCriteria;
	}
	
	public List<FieldCriterion> getCriteria() {
		
		List<FieldCriterion> criteria = new ArrayList<FieldCriterion>();
		criteria.addAll(baseCriteria);
		
		if(refineCriteria != null){
			criteria.addAll(refineCriteria);
		}
		
		return criteria;
	}

	@Override
	public String toString() {
		return "base criteria: " + baseCriteria +
		" refine criteria: " + refineCriteria; 
	}
	
	public boolean isEmpty() {
		return ((baseCriteria == null || baseCriteria.isEmpty()) &&
				(refineCriteria == null || refineCriteria.isEmpty())) ? true:false;
	}

}
