#region Apache Notice /***************************************************************************** * $Revision: 469233 $ * $LastChangedDate$ * $LastChangedBy$ * * iBATIS.NET Data Mapper * Copyright (C) 2008/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.Model.Sql; using Apache.Ibatis.DataMapper.Model.Sql.External; #endregion namespace Apache.Ibatis.DataMapper.Model.Statements { /// /// Summary description for ISql. /// public interface IStatement { #region Properties /// /// Gets a value indicating whether [allow remapping]. /// /// true if [allow remapping]; otherwise, false. bool AllowRemapping { get; } /// /// Identifier used to identify the statement amongst the others. /// string Id { get; } /// /// Gets the type of the statement (text or procedure). /// CommandType CommandType { get; } /// /// Gets the extend statement name. /// /// The extend statement. string ExtendStatement { get; } /// /// Gets 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; } /// /// Gets the cache model used by this statement. /// /// The cache model. CacheModel CacheModel { get; } /// /// Gets the parameter class type. /// /// The parameter class. Type ParameterClass { get; } /// /// Gets the result class type. /// /// The result class. Type ResultClass { get; } /// /// Gets the list class type. /// /// The list class. Type ListClass { get; } /// /// Gets or sets the SQL source. /// /// The SQL source. ISqlSource SqlSource { get; set; } /// /// Gets or sets a value indicating whether whitespace within <statement> nodes should be preserved. /// /// /// Using the default value of false may cause single line SQL comments '--' to comment out more than expected. A /// safer commenting syntax is to always use the multi-line comments supported by most vendors: '/* ... */' /// bool PreserveWhitespace { 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 } }