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<?> beanType();
014
015  /**
016   * Return the label of the query.
017   */
018  String label();
019
020  /**
021   * Return the profile location for the query.
022   */
023  ProfileLocation profileLocation();
024
025  /**
026   * Return the sql of the query.
027   */
028  String sql();
029
030  /**
031   * Return the hash of the plan.
032   */
033  String hash();
034
035  /**
036   * Return a description of the bind values.
037   */
038  String bind();
039
040  /**
041   * Return the raw plan.
042   */
043  String plan();
044
045  /**
046   * Return the query execution time associated with the bind values capture.
047   */
048  long queryTimeMicros();
049
050  /**
051   * Return the total count of times bind capture has occurred.
052   */
053  long captureCount();
054}