#region Apache Notice /***************************************************************************** * $Revision: 469233 $ * $LastChangedDate$ * $LastChangedBy$ * * iBATIS.NET Data Mapper * Copyright (C) 2006/2005 - The Apache Software Foundation * * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ********************************************************************************/ #endregion #region Using using System; using System.Collections; using System.Collections.Generic; using System.Data; using Apache.Ibatis.DataMapper.Model.ResultMapping; using Apache.Ibatis.DataMapper.Model.ParameterMapping; using Apache.Ibatis.DataMapper.Model.Cache; using Apache.Ibatis.DataMapper.Configuration.Sql; #endregion namespace Apache.Ibatis.DataMapper.Configuration.Statements { /// /// Summary description for ISql. /// public interface IStatement { #region Properties /// /// Allow remapping of dynamic SQL /// bool AllowRemapping { get; set; } /// /// Identifier used to identify the statement amongst the others. /// string Id { get; set; } /// /// The type of the statement (text or procedure). /// CommandType CommandType { get; } /// /// Extend statement attribute /// string ExtendStatement { get; set; } /// /// The sql statement to execute. /// ISql Sql { get; set; } /// /// The ResultMaps used by the statement. /// ResultMapCollection ResultsMap { get; } /// /// The parameterMap used by the statement. /// ParameterMap ParameterMap { get; set; } /// /// The CacheModel used by this statement. /// CacheModel CacheModel { get; set; } /// /// The CacheModel name to use. /// string CacheModelName { get; set; } /// /// The list class type to use for strongly typed collection. /// Type ListClass { get; } /// /// The result class type to used. /// Type ResultClass { get; } /// /// The parameter class type to used. /// Type ParameterClass { get; } #endregion #region Methods /// /// Create an instance of 'IList' class. /// /// An object which implement IList. IList CreateInstanceOfListClass(); /// /// Create an instance of a generic 'IList' class. /// /// An object which implement IList. IList CreateInstanceOfGenericListClass(); #endregion } }