001package io.ebean.event;
002
003import io.ebean.EbeanServer;
004import io.ebean.Query;
005import io.ebean.Transaction;
006
007/**
008 * Holds the information available for a bean query.
009 */
010public interface BeanQueryRequest<T> {
011
012  /**
013   * Return the server processing the request.
014   */
015  EbeanServer getEbeanServer();
016
017  /**
018   * Return the Transaction associated with this request.
019   */
020  Transaction getTransaction();
021
022  /**
023   * Returns the query.
024   */
025  Query<T> getQuery();
026
027  /**
028   * Return true if an Id IN expression should have the bind parameters padded.
029   */
030  boolean isPadInExpression();
031
032  /**
033   * Return true if multi-value binding using Array or Table Values is supported.
034   */
035  boolean isMultiValueIdSupported();
036
037  /**
038   * Return true if multi-value binding is supported for this value type.
039   */
040  boolean isMultiValueSupported(Class<?> valueType);
041}