001package io.ebean.meta;
002
003import io.ebean.ProfileLocation;
004
005/**
006 * Meta data for captured query plan.
007 */
008public interface MetaQueryPlan {
009
010  /**
011   * Return the bean type for the query.
012   */
013  Class<?> getBeanType();
014
015  /**
016   * Return the label of the query.
017   */
018  String getLabel();
019
020  /**
021   * Return the profile location for the query.
022   */
023  ProfileLocation getProfileLocation();
024
025  /**
026   * Return the sql of the query.
027   */
028  String getSql();
029
030  /**
031   * Return the hash of the plan.
032   */
033  String getHash();
034
035  /**
036   * Return a description of the bind values.
037   */
038  String getBind();
039
040  /**
041   * Return the raw plan.
042   */
043  String getPlan();
044
045  /**
046   * Return the query execution time associated with the bind values capture.
047   */
048  long getQueryTimeMicros();
049
050  /**
051   * Return the total count of times bind capture has occurred.
052   */
053  long getCaptureCount();
054}