C# Class Castle.MicroKernel.Handlers.AbstractHandler

Inheritance: System.MarshalByRefObject, IHandler, IExposeDependencyInfo, IDisposable
Afficher le fichier Open project: nats/castle-1.0.3-mono

Protected Properties

Свойство Type Description
lifestyleManager ILifestyleManager

Méthodes publiques

Méthode Description
AbstractHandler ( ComponentModel model ) : System

Constructs and initializes the handler

AddCustomDependencyValue ( string key, object value ) : void

TODO: Pendent

CanResolve ( CreationContext context, ISubDependencyResolver parentResolver, ComponentModel model, DependencyModel dependency ) : bool
Dispose ( ) : void
HasCustomParameter ( string key ) : bool

TODO: Pendent

Init ( IKernel kernel ) : void

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

ObtainDependencyDetails ( IList dependenciesChecked ) : String

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

Release ( object instance ) : void

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

RemoveCustomDependencyValue ( string key ) : void

TODO: Pendent

Resolve ( CreationContext context ) : object

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

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

Méthodes protégées

Méthode Description
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

CreateLifestyleManager ( IComponentActivator activator ) : ILifestyleManager

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

DependencySatisfied ( IHandler handler, 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 ( ) : 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.

SetNewState ( HandlerState newState ) : void

Private Methods

Méthode Description
AddGraphDependency ( ComponentModel model ) : void
DisconnectEvents ( ) : void
HandlerStateChanged ( object source, EventArgs args ) : void

Handler for the event OnHandlerStateChanged

HasValidComponent ( String key ) : bool
HasValidComponent ( Type service ) : bool
IsValidHandlerState ( IHandler handler ) : bool
RaiseHandlerStateChanged ( ) : void
Union ( ICollection firstset, ICollection secondset ) : Castle.Core.DependencyModel[]

Method Details

AbstractHandler() public méthode

Constructs and initializes the handler
public AbstractHandler ( ComponentModel model ) : System
model Castle.Core.ComponentModel
Résultat System

AddCustomDependencyValue() public méthode

TODO: Pendent
public AddCustomDependencyValue ( string key, object value ) : void
key string
value object
Résultat void

AddDependency() protected méthode

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
Résultat void

CanResolve() public méthode

public CanResolve ( CreationContext context, ISubDependencyResolver parentResolver, ComponentModel model, DependencyModel dependency ) : bool
context CreationContext
parentResolver ISubDependencyResolver
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Résultat bool

CreateLifestyleManager() protected méthode

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
Résultat ILifestyleManager

DependencySatisfied() protected méthode

Invoked by the kernel when one of registered dependencies were satisfied by new components registered.
Handler for the event IKernelEvents.HandlerRegistered
protected DependencySatisfied ( IHandler handler, bool &stateChanged ) : void
handler IHandler
stateChanged bool
Résultat void

Dispose() public méthode

public Dispose ( ) : void
Résultat void

EnsureDependenciesCanBeSatisfied() protected méthode

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 ( ) : void
Résultat void

HasCustomParameter() public méthode

TODO: Pendent
public HasCustomParameter ( string key ) : bool
key string
Résultat bool

Init() public méthode

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
Résultat void

ObtainDependencyDetails() public méthode

Returns human readable list of dependencies this handler is waiting for.
public ObtainDependencyDetails ( IList dependenciesChecked ) : String
dependenciesChecked IList
Résultat String

OnAddedAsChildKernel() protected méthode

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 System.EventArgs
Résultat void

Release() public abstract méthode

Should be implemented by derived classes: disposes the component instance (or recycle it)
public abstract Release ( object instance ) : void
instance object
Résultat void

RemoveCustomDependencyValue() public méthode

TODO: Pendent
public RemoveCustomDependencyValue ( string key ) : void
key string
Résultat void

Resolve() public abstract méthode

Should be implemented by derived classes: returns an instance of the component this handler is responsible for
public abstract Resolve ( CreationContext context ) : object
context CreationContext
Résultat object

Resolve() public méthode

public Resolve ( CreationContext context, ISubDependencyResolver parentResolver, ComponentModel model, DependencyModel dependency ) : object
context CreationContext
parentResolver ISubDependencyResolver
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Résultat object

SetNewState() protected méthode

protected SetNewState ( HandlerState newState ) : void
newState HandlerState
Résultat void

Property Details

lifestyleManager protected_oe property

Lifestyle manager instance
protected ILifestyleManager lifestyleManager
Résultat ILifestyleManager