예제 #1
0
 private void BuildTypeAlias(IConfigurationStore configurationStore)
 {
     for (int i = 0; i < store.Alias.Length; i++)
     {
         configurationStore.AddAliasConfiguration(store.Alias[i]);
     }
 }
예제 #2
0
        /// <summary>
        /// Processes the type alias element.
        /// </summary>
        /// <param name="element">The element.</param>
        /// <param name="configurationStore">The configuration store.</param>
        private void ProcessTypeAliasElement(Tag element, IConfigurationStore configurationStore)
        {
            IConfiguration config = new MutableConfiguration(
                element.Name,
                element.Attributes[ConfigConstants.ATTRIBUTE_ALIAS],
                element.Attributes[ConfigConstants.ATTRIBUTE_TYPE]);

            configurationStore.AddAliasConfiguration(config);
        }
        /// <summary>
        /// Processes the type alias element.
        /// </summary>
        /// <param name="element">The element.</param>
        /// <param name="configurationStore">The configuration store.</param>
        private void ProcessTypeAliasElement(Tag element, IConfigurationStore configurationStore)
        {
            IConfiguration config = new MutableConfiguration(
                element.Name,
                element.Attributes[ConfigConstants.ATTRIBUTE_ALIAS],
                element.Attributes[ConfigConstants.ATTRIBUTE_TYPE]);

            configurationStore.AddAliasConfiguration(config);
        }
        /// <summary>
        /// Adds a Type alias to the store.
        /// </summary>
        /// <remarks>
        /// Uses ConfigConstants.ELEMENT_TYPEALIAS as the value for IConfiguration.Type.
        /// </remarks>
        /// <example>
        /// <code>
        /// &lt;alias&gt;
        ///	 &lt;typeAlias alias="Account" type="Apache.Ibatis.DataMapper.Sqlite.Test.Domain.Account, Apache.Ibatis.DataMapper.Sqlite.Test"/&gt;
        /// &lt;/alias&gt;
        /// </code>
        /// </example>
        public void AddAlias(Type type, string name)
        {
            IConfiguration typeAlias = new MutableConfiguration(
                ConfigConstants.ELEMENT_TYPEALIAS,
                name,
                type.FullName + ", " + type.Assembly.GetName().Name);

            configurationStore.AddAliasConfiguration(typeAlias);
        }
예제 #5
0
        /// <summary>
        /// Registers the current configuration.
        /// </summary>
        /// <returns></returns>
        public MutableConfiguration RegisterConfiguration()
        {
            MutableConfiguration configuration = currentConfiguration;

            if (currentConfiguration != null)
            {
                switch (currentConfiguration.Type)
                {
                case ConfigConstants.ELEMENT_TYPEALIAS:
                    store.AddAliasConfiguration(currentConfiguration);
                    break;

                case ConfigConstants.ELEMENT_TYPEHANDLER:
                    store.AddTypeHandlerConfiguration(currentConfiguration);
                    break;

                case ConfigConstants.ELEMENT_RESULTMAP:
                    store.AddResultMapConfiguration(currentConfiguration);
                    break;

                case ConfigConstants.ELEMENT_PARAMETERMAP:
                    store.AddParameterMapConfiguration(currentConfiguration);
                    break;

                case ConfigConstants.ELEMENT_RESULT:
                case ConfigConstants.ELEMENT_DISCRIMINATOR:
                case ConfigConstants.ELEMENT_CONSTRUCTOR:
                case ConfigConstants.ELEMENT_PARAMETER:
                    break;

                default:
                    throw new DataMapperException("Invalid configuration registration for configuration type:" + currentConfiguration.Type);
                }
                currentConfiguration = null;
            }

            return(configuration);
        }