package org.genedb.querying.core;
/**
* A rank of visibilities for each query, with the most visible being at the bottom (i.e., has a higher index).
*
* @author gv1
*
*/
public enum NumericQueryVisibility implements QueryVisibility {
PRIVATE(0),
PUBLIC_BUT_NO_FORMS(1),
PUBLIC(2);
Integer index;
NumericQueryVisibility(int index) {
this.index = index;
}
/* (non-Javadoc)
* @see org.genedb.querying.core.QueryVisibility#includesVisibility(org.genedb.querying.core.NumericQueryVisibility)
*/
public boolean includesVisibility(QueryVisibility v) {
NumericQueryVisibility nqv;
if (v instanceof QueryVisibility) {
nqv = (NumericQueryVisibility) v;
} else {
throw new IllegalArgumentException(String.format("Attempt to compare NumericQueryVisibility with '%s'", v.getClass()));
}
return this.index.compareTo(nqv.index) >= 0;
}
}