zoukankan      html  css  js  c++  java
  • CodeBuilder之Template接口

    ITemplate接口

    代码
    using System.Collections.Generic;

    namespace FaibClass.TemplatePackage
    {
        
    /// <summary>
        
    /// 模板接口。
        
    /// </summary>
        public interface ITemplate : BasePackage.IPackage
        {
            
    /// <summary>
            
    /// 加载模板文件并构造一个生成器。
            
    /// </summary>
            
    /// <param name="fileName">模板文件名。</param>
            
    /// <returns>生成器对象。</returns>
            IBuilder LoadTemplate(string fileName);
            
    /// <summary>
            
    /// 获取所有模板文件。
            
    /// </summary>
            
    /// <returns>数据字典,Key:文件名,Value:文件路径。</returns>
            Dictionary<stringstring> GetTemplateFiles();
        }
    }

    IBuilder接口

    代码
    using FaibClass.SourcePackage;

    namespace FaibClass.TemplatePackage
    {
        
    /// <summary>
        
    /// 代码创建接口。
        
    /// </summary>
        public interface IBuilder
        {
            
    /// <summary>
            
    /// 生成代码。
            
    /// </summary>
            
    /// <param name="tables">要生成的表集合。</param>
            
    /// <param name="enums">要生成的枚举集合。</param>
            
    /// <param name="save">是否保存到文件。</param>
            
    /// <param name="outputFolder">输出的路径</param>
            
    /// <returns>生成结果。</returns>
            BuildResult Build(Collection<ITable> tables, Collection<DbEnum> enums, bool save, string outputFolder);
            
    /// <summary>
            
    /// 转换数据类型。
            
    /// </summary>
            
    /// <param name="dbType">源类型。</param>
            
    /// <param name="sourceType">源数据类型。</param>
            
    /// <returns>代码数据类型。</returns>
            string ConvertDbType(string dbType, string sourceType);
            
    /// <summary>
            
    /// 生成表代码时触发事件。
            
    /// </summary>
            event BuildProgressChangedEventHandler BuildProgressChanged;
            
    /// <summary>
            
    /// 停止生成进程。
            
    /// </summary>
            void Stop();
            
    /// <summary>
            
    /// 语言类别。
            
    /// </summary>
            LanguageType Language { get; }
            
    /// <summary>
            
    /// 生成器名称。
            
    /// </summary>
            string Name { get; }
            
    /// <summary>
            
    /// 文件名。
            
    /// </summary>
            string FileName { get; }
            
    /// <summary>
            
    /// 对生成器进行修改。
            
    /// </summary>
            
    /// <returns>是否修改成功。</returns>
            bool Edit();
            
    /// <summary>
            
    /// 重新加载。
            
    /// </summary>
            void Reload();
            
    /// <summary>
            
    /// 验证内容。
            
    /// </summary>
            
    /// <param name="content"></param>
            void Validate(string content);
        }
    }
  • 相关阅读:
    Random 种子问题
    Matrix issue
    Two sum.
    Best Time to Buy and Sell Stock
    Maximum difference between two elements
    二分查找法的实现和应用汇总
    Why you want to be restrictive with shrink of database files [From karaszi]
    Palindrome
    NetBeans vs Eclipse 之性能参数对比 [java060515]
    国内各大互联网公司相关技术站点不完全收录[转]
  • 原文地址:https://www.cnblogs.com/faib/p/1643749.html
Copyright © 2011-2022 走看看