> For the complete documentation index, see [llms.txt](https://playermaker.gitbook.io/componentbuilder/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://playermaker.gitbook.io/componentbuilder/english/interceptor.md).

# Interceptor

`BlazorComponentBase` designed interceptors to change lifecycle of component that can recognize definitions of component

<figure><img src="/files/dtrnIZLOq45uwt3qzgWJ" alt=""><figcaption></figcaption></figure>

### Custom Interceptors

Implement `ICompnentInterceptor` or derived `ComponentInterceptorBase` (Recommand)

```csharp
public class LogInterceptor : ComponentInterceptorBase
{
    public override void InterceptOnInitialized(IBlazorComponent component)
    {
        // invoke in OnInitialized() method
        
        if(component is not BlazorComponentBase componentBase)
        {
            return;
        }
        
        //Write your code
    }
}
```

Configure to add this interceptors

```csharp
builder.Service.AddComponentBuilder(configure => {
    configure.Interceptors.Add(new LogInterceptor());
})
```

### Internal Interceptors

* AssociaitionComponentInterceptor
* ChildContentInterceptor
* CssClassAttributeInterceptor
* FormComponentInterceptor
* NavLinkComponentInterceptor
* StyleAttributeInterceptor
