/* * Copyright (c) 2006-2013 Massachusetts General Hospital * All rights reserved. This program and the accompanying materials * are made available under the terms of the i2b2 Software License v1.0 * which accompanies this distribution. * * Contributors: * Christopher Herrick */ package edu.harvard.i2b2.crc.dao.setfinder.querybuilder.temporal; public class TemporalQueryOptions { public enum QueryConstraintStrategy{ TEMP_TABLES, WITH_STATEMENT, DERIVED_TABLES } public enum TemporalConstraintStrategy{ TEMP_TABLE_UPDATE, WITH_CONSTRAINT } private boolean usePanelLevelOccurrence = false; private QueryConstraintStrategy queryConstraintLogic = QueryConstraintStrategy.WITH_STATEMENT; private TemporalConstraintStrategy temporalConstraintLogic = TemporalConstraintStrategy.TEMP_TABLE_UPDATE; private boolean useItemGroupByStatement = true; private boolean useSqlHints = true; /** * @return the usePanelLevelOccurrence */ public boolean usePanelLevelOccurrence() { return usePanelLevelOccurrence; } public enum InvertedConstraintStrategy{ NOT_EXISTS, MINUS_CLAUSE } private InvertedConstraintStrategy invertedConstraintLogic = InvertedConstraintStrategy.NOT_EXISTS; /** * @param usePanelLevelOccurrence the usePanelLevelOccurrence to set */ public void setUsePanelLevelOccurrence(boolean usePanelLevelOccurrence) { this.usePanelLevelOccurrence = usePanelLevelOccurrence; } /** * @return the queryConstraintLogic */ public QueryConstraintStrategy getQueryConstraintLogic() { return queryConstraintLogic; } /** * @param queryConstraintLogic the queryConstraintLogic to set */ public void setQueryConstraintLogic(QueryConstraintStrategy queryConstraintLogic) { this.queryConstraintLogic = queryConstraintLogic; } /** * @return the temporalConstraintType */ public TemporalConstraintStrategy getTemporalConstraintStrategy() { return temporalConstraintLogic; } /** * @param temporalConstraintType the temporalConstraintType to set */ public void setTemporalConstraintStrategy(TemporalConstraintStrategy temporalConstraintStrategy) { this.temporalConstraintLogic = temporalConstraintStrategy; } /** * @return the useItemGroupByStatement */ public boolean useItemGroupByStatement() { return useItemGroupByStatement; } /** * @param useItemGroupByStatement the useItemGroupByStatement to set */ public void setUseItemGroupByStatement(boolean useItemGroupByStatement) { this.useItemGroupByStatement = useItemGroupByStatement; } /** * @return the invertedConstraintLogic */ public InvertedConstraintStrategy getInvertedConstraintLogic() { return invertedConstraintLogic; } /** * @param invertedConstraintLogic the invertedConstraintLogic to set */ public void setInvertedConstraintLogic(InvertedConstraintStrategy invertedConstraintLogic) { this.invertedConstraintLogic = invertedConstraintLogic; } /** * @return the useSqlHints */ public boolean useSqlHints() { return useSqlHints; } /** * @param useSqlHints the useSqlHints to set */ public void setUseSqlHints(boolean useSqlHints) { this.useSqlHints = useSqlHints; } }