C# Класс Castle.MicroKernel.Handlers.AbstractHandler.AbstractHandler

Наследование: System.MarshalByRefObject, IHandler, IExposeDependencyInfo, IDisposable
Показать файл Открыть проект

Защищенные свойства (Protected)

Свойство Тип Описание
lifestyleManager ILifestyleManager

Открытые методы

Метод Описание
AddCustomDependencyValue ( object key, object value ) : void
CanResolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : bool
Dispose ( ) : void
HasCustomParameter ( object key ) : bool
Init ( IKernel kernel ) : void

Saves the kernel instance, subscribes to IKernelEvents.AddedAsChildKernel event, creates the lifestyle manager instance and computes the handler state.

IsBeingResolvedInContext ( CreationContext context ) : bool
ObtainDependencyDetails ( IList dependenciesChecked ) : String

Returns human readable list of dependencies this handler is waiting for.

Release ( object instance ) : bool

disposes the component instance (or recycle it).

ReleaseCore ( object instance ) : bool

Should be implemented by derived classes: disposes the component instance (or recycle it)

RemoveCustomDependencyValue ( object key ) : void
Resolve ( CreationContext context ) : object

Returns an instance of the component this handler is responsible for

Resolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : object
TryResolve ( CreationContext context ) : object

Защищенные методы

Метод Описание
AbstractHandler ( ComponentModel model ) : System

Constructs and initializes the handler

AddDependency ( DependencyModel dependency ) : void

Invoked by EnsureDependenciesCanBeSatisfied in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state.

This method registers the dependencies within the correct collection or dictionary and changes the handler state to HandlerState.WaitingDependency

CanSatisfyConstructor ( ConstructorCandidate constructor ) : bool
CanSatisfyDependency ( DependencyModel dependency ) : bool
CreateLifestyleManager ( IComponentActivator activator ) : ILifestyleManager

Creates an implementation of ILifestyleManager based on LifestyleType and invokes ILifestyleManager.Init to initialize the newly created manager.

DependencySatisfied ( bool &stateChanged ) : void

Invoked by the kernel when one of registered dependencies were satisfied by new components registered.

Handler for the event IKernelEvents.HandlerRegistered

EnsureDependenciesCanBeSatisfied ( IDependencyAwareActivator activator ) : void

Checks if the handler is able to, at very least, satisfy the dependencies for the constructor with less parameters

For each non*optional dependency, the implementation will invoke AddDependency

OnAddedAsChildKernel ( object sender, EventArgs e ) : void

Invoked when the container receives a parent container reference.

This method implementation checks whether the parent container is able to supply the dependencies for this handler.

Resolve ( CreationContext context, bool instanceRequired ) : object

Returns an instance of the component this handler is responsible for

ResolveCore ( CreationContext context, bool requiresDecommission, bool instanceRequired ) : object

Should be implemented by derived classes: returns an instance of the component this handler is responsible for

SetNewState ( HandlerState newState ) : void

Приватные методы

Метод Описание
AddGraphDependency ( IHandler handler ) : void
DisconnectEvents ( ) : void
GetBestCandidatesByDependencyType ( IEnumerable candidates ) : List
GetCandidateConstructors ( ) : IEnumerable
GetSecuredDependencies ( ) : IEnumerable
HandlerStateChanged ( object source, EventArgs args ) : void

Handler for the event OnHandlerStateChanged

HasValidComponent ( String key, DependencyModel dependency ) : bool
HasValidComponent ( Type service, DependencyModel dependency ) : bool
HasValidComponentFromResolver ( DependencyModel dependency ) : bool
InitializeCustomDependencies ( ) : void
IsValidHandlerState ( IHandler handler ) : bool
RaiseHandlerStateChanged ( ) : void
SelectMostValuableCandidate ( IEnumerable candidates ) : ConstructorCandidate
SelectMostValuableCandidateByName ( IEnumerable candidates ) : ConstructorCandidate
Union ( ICollection firstset, ICollection secondset ) : DependencyModel[]

Описание методов

AbstractHandler() защищенный Метод

Constructs and initializes the handler
protected AbstractHandler ( ComponentModel model ) : System
model Castle.Core.ComponentModel
Результат System

AddCustomDependencyValue() публичный Метод

public AddCustomDependencyValue ( object key, object value ) : void
key object
value object
Результат void

AddDependency() защищенный Метод

Invoked by EnsureDependenciesCanBeSatisfied in order to check if a dependency can be satisfied. If not, the handler is set to a 'waiting dependency' state.
This method registers the dependencies within the correct collection or dictionary and changes the handler state to HandlerState.WaitingDependency
protected AddDependency ( DependencyModel dependency ) : void
dependency Castle.Core.DependencyModel
Результат void

CanResolve() публичный Метод

public CanResolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : bool
context Castle.MicroKernel.Context.CreationContext
contextHandlerResolver ISubDependencyResolver
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Результат bool

CanSatisfyConstructor() защищенный Метод

protected CanSatisfyConstructor ( ConstructorCandidate constructor ) : bool
constructor Castle.Core.ConstructorCandidate
Результат bool

CanSatisfyDependency() защищенный Метод

protected CanSatisfyDependency ( DependencyModel dependency ) : bool
dependency Castle.Core.DependencyModel
Результат bool

CreateLifestyleManager() защищенный Метод

Creates an implementation of ILifestyleManager based on LifestyleType and invokes ILifestyleManager.Init to initialize the newly created manager.
protected CreateLifestyleManager ( IComponentActivator activator ) : ILifestyleManager
activator IComponentActivator
Результат ILifestyleManager

DependencySatisfied() защищенный Метод

Invoked by the kernel when one of registered dependencies were satisfied by new components registered.
Handler for the event IKernelEvents.HandlerRegistered
protected DependencySatisfied ( bool &stateChanged ) : void
stateChanged bool
Результат void

Dispose() публичный Метод

public Dispose ( ) : void
Результат void

EnsureDependenciesCanBeSatisfied() защищенный Метод

Checks if the handler is able to, at very least, satisfy the dependencies for the constructor with less parameters
For each non*optional dependency, the implementation will invoke AddDependency
protected EnsureDependenciesCanBeSatisfied ( IDependencyAwareActivator activator ) : void
activator IDependencyAwareActivator
Результат void

HasCustomParameter() публичный Метод

public HasCustomParameter ( object key ) : bool
key object
Результат bool

Init() публичный Метод

Saves the kernel instance, subscribes to IKernelEvents.AddedAsChildKernel event, creates the lifestyle manager instance and computes the handler state.
public Init ( IKernel kernel ) : void
kernel IKernel
Результат void

IsBeingResolvedInContext() публичный Метод

public IsBeingResolvedInContext ( CreationContext context ) : bool
context CreationContext
Результат bool

ObtainDependencyDetails() публичный Метод

Returns human readable list of dependencies this handler is waiting for.
public ObtainDependencyDetails ( IList dependenciesChecked ) : String
dependenciesChecked IList
Результат String

OnAddedAsChildKernel() защищенный Метод

Invoked when the container receives a parent container reference.
This method implementation checks whether the parent container is able to supply the dependencies for this handler.
protected OnAddedAsChildKernel ( object sender, EventArgs e ) : void
sender object
e EventArgs
Результат void

Release() публичный Метод

disposes the component instance (or recycle it).
public Release ( object instance ) : bool
instance object
Результат bool

ReleaseCore() публичный абстрактный Метод

Should be implemented by derived classes: disposes the component instance (or recycle it)
public abstract ReleaseCore ( object instance ) : bool
instance object
Результат bool

RemoveCustomDependencyValue() публичный Метод

public RemoveCustomDependencyValue ( object key ) : void
key object
Результат void

Resolve() публичный Метод

Returns an instance of the component this handler is responsible for
public Resolve ( CreationContext context ) : object
context CreationContext
Результат object

Resolve() публичный Метод

public Resolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : object
context CreationContext
contextHandlerResolver ISubDependencyResolver
model ComponentModel
dependency DependencyModel
Результат object

Resolve() защищенный Метод

Returns an instance of the component this handler is responsible for
protected Resolve ( CreationContext context, bool instanceRequired ) : object
context CreationContext
instanceRequired bool when false, handler can not create valid instance and return null instead
Результат object

ResolveCore() защищенный абстрактный Метод

Should be implemented by derived classes: returns an instance of the component this handler is responsible for
protected abstract ResolveCore ( CreationContext context, bool requiresDecommission, bool instanceRequired ) : object
context CreationContext
requiresDecommission bool
instanceRequired bool When false, handler can not create valid instance and return null instead.
Результат object

SetNewState() защищенный Метод

protected SetNewState ( HandlerState newState ) : void
newState HandlerState
Результат void

TryResolve() публичный Метод

public TryResolve ( CreationContext context ) : object
context CreationContext
Результат object

Описание свойств

lifestyleManager защищенное свойство

Lifestyle manager instance
protected ILifestyleManager lifestyleManager
Результат ILifestyleManager