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

prerna.query.querystruct.selectors.QueryColumnOrderBySelector Maven / Gradle / Ivy

The newest version!
package prerna.query.querystruct.selectors;

public class QueryColumnOrderBySelector extends QueryColumnSelector implements IQuerySort {

	public enum ORDER_BY_DIRECTION {ASC, DESC};
	
	private String sortDir = "";
	
	public QueryColumnOrderBySelector() {
		super();
	}
	
	public QueryColumnOrderBySelector(String qsValue) {
		super(qsValue);
	}
	
	public QueryColumnOrderBySelector(String qsValue, String sortDir) {
		super(qsValue);
		setSortDir(sortDir);
	}
	
	public QueryColumnOrderBySelector(String qsValue, ORDER_BY_DIRECTION sortDir) {
		super(qsValue);
		this.sortDir = sortDir.toString();
	}
	 
	public void setSortDir(String sortDir) {
		this.sortDir = sortDir.toUpperCase();
	}
	
	public String getSortDirString() {
		return this.sortDir;
	}
	
	public ORDER_BY_DIRECTION getSortDir() {
		// if empty, assume ascending
		if(this.sortDir.isEmpty()) {
			return ORDER_BY_DIRECTION.ASC;
		}
		
		/*
		 * Accounting for:
		 * ascending
		 * increasing
		 * up
		 */
		if(this.sortDir.contains("ASC") ||
				this.sortDir.contains("INC") ||
				this.sortDir.contains("UP")) {
			return ORDER_BY_DIRECTION.ASC;
		}
		
		return ORDER_BY_DIRECTION.DESC;
	}

	@Override
	public QUERY_SORT_TYPE getQuerySortType() {
		return QUERY_SORT_TYPE.COLUMN;
	}
	
	@Override
	public boolean equals(Object obj) {
		if(obj instanceof QueryColumnOrderBySelector) {
			QueryColumnOrderBySelector selector = (QueryColumnOrderBySelector)obj;
			if(super.equals(selector) && this.getSortDir() == selector.getSortDir()) {
				return true;
			}
		}
		return false;
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy