mojoPortal学习笔记之IndexBuilderProvider


mojoPortal中建立索引时使用了Provider模式,学习一下。

第一步 Main  provider class

具体实现为是: IndexBuilderProvider

代码如下:

 public abstract class IndexBuilderProvider : ProviderBase
    
{
        
public abstract void RebuildIndex(
            PageSettings pageSettings,
            
string indexPath);


        
public abstract void ContentChangedHandler(
            
object sender,
            ContentChangedEventArgs e);
       
    }
定义了2个抽象方法

第二步: Provider Collection 类

具体实现为IndexBuilderProviderCollection

代码如下:

  public class IndexBuilderProviderCollection : ProviderCollection
    
{
        
public override void Add(ProviderBase provider)
        
{
            
if (provider == null)
                
throw new ArgumentNullException("The provider parameter cannot be null.");

            
if (!(provider is IndexBuilderProvider))
                
throw new ArgumentException("The provider parameter must be of type IndexBuilderProvider.");

            
base.Add(provider);
        }


        
new public IndexBuilderProvider this[string name]
        
{
            
get return (IndexBuilderProvider)base[name]; }
        }


        
public void CopyTo(IndexBuilderProvider[] array, int index)
        
{
            
base.CopyTo(array, index);
        }

    }

 第三步:Provider Configuration 类

具体为IndexBuilderConfiguration类

代码如下:


Code

第四步: Provider Manager 类

具体实现 IndexBuilderManager

代码如下:

代码


第五步:继承抽象Provider类的子类

具体实现: BlogIndexBuilderProvider

代码


posted on 2008-04-23 11:16  蓝蓝的天2016  阅读(468)  评论(0编辑  收藏  举报