Apache Notice#region Apache Notice /**//***************************************************************************** * $Header: $ * $Revision: 513429 $ * $Date: 2007-03-02 02:32:25 +0800 (星期五, 02 三月 2007) $ * * iBATIS.NET Data Mapper * Copyright (C) 2004 - Gilles Bayon * * * 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 using IBatisNet.Common.Utilities; using IBatisNet.DataMapper; using IBatisNet.DataMapper.Configuration; namespace IBatisNet.DataMapper { /**////<summary> /// A singleton class to access the default SqlMapper defined by the SqlMap.Config ///</summary> publicsealedclass AnthorMapper { Fields#region Fields privatestaticvolatile ISqlMapper _mapper =null; #endregion /**////<summary> /// ///</summary> ///<param name="obj"></param> publicstaticvoid Configure (object obj) { _mapper =null; } /**////<summary> /// Init the 'default' SqlMapper defined by the SqlMap.Config file. ///</summary> publicstaticvoid InitMapper() { ConfigureHandler handler =new ConfigureHandler (Configure); DomSqlMapBuilder builder =new DomSqlMapBuilder(); _mapper = builder.ConfigureAndWatch ("AnthorMap.config",handler); } /**////<summary> /// Get the instance of the SqlMapper defined by the SqlMap.Config file. ///</summary> ///<returns>A SqlMapper initalized via the SqlMap.Config file.</returns> publicstatic ISqlMapper Instance() { if (_mapper ==null) { lock (typeof (SqlMapper)) { if (_mapper ==null) // double-check { InitMapper(); } } } return _mapper; } /**////<summary> /// Get the instance of the SqlMapper defined by the SqlMap.Config file. (Convenience form of Instance method.) ///</summary> ///<returns>A SqlMapper initalized via the SqlMap.Config file.</returns> publicstatic ISqlMapper Get() { return Instance(); } } }