001package io.ebean.config;
002
003import io.ebean.Query;
004
005/**
006 * The mode for determining if AutoTune will be used for a given query when
007 * {@link Query#setAutoTune(boolean)} has not been explicitly set on a query.
008 * <p>
009 * The explicit control of {@link Query#setAutoTune(boolean)} will always take
010 * precedence. This mode is used when this has not been explicitly set on a
011 * query.
012 * </p>
013 */
014public enum AutoTuneMode {
015
016  /**
017   * Don't implicitly use AutoTune. Must explicitly turn it on.
018   */
019  DEFAULT_OFF,
020
021  /**
022   * Use AutoTune implicitly. Must explicitly turn it off.
023   */
024  DEFAULT_ON,
025
026  /**
027   * Implicitly use AutoTune if the query has not got either select() or join()
028   * defined.
029   */
030  DEFAULT_ONIFEMPTY
031
032}