C# Class AspectSharp.Core.Proxy.DefaultProxyFactory

Default implementation of IProxyFactory which uses Castle.DynamicProxy to generate the proxies.
Inheritance: IProxyFactory
Show file Open project: nats/castle-1.0.3-mono

Public Methods

Method Description
CreateClassProxy ( Type classType, AspectSharp.Lang.AST.AspectDefinition aspect ) : object
CreateInterfaceProxy ( Type inter, object target, AspectSharp.Lang.AST.AspectDefinition aspect ) : object
DefaultProxyFactory ( AspectEngine engine ) : System

Constructs a DefaultProxyFactory

DefaultProxyFactory ( AspectEngine engine, IInvocationDispatcherFactory dispatcherFactory ) : System

Constructs a DefaultProxyFactory

Protected Methods

Method Description
CreateAndInstantiateClassProxy ( Type baseClass, AspectSharp.Lang.AST.AspectDefinition aspect, IInvocationDispatcher dispatcher ) : object
CreateAndInstantiateInterfaceProxy ( Type inter, object target, AspectSharp.Lang.AST.AspectDefinition aspect, IInvocationDispatcher dispatcher ) : object
InitializeMixins ( object proxy, object mixins ) : void
InstantiateMixins ( AspectSharp.Lang.AST.MixinDefinitionCollection mixins ) : object[]

Private Methods

Method Description
CreateClassProxyInstance ( Type proxyType, object mixins, IInvocationDispatcher dispatcher ) : object
CreateInterfaceProxyInstance ( Type proxyType, object target, object mixins, IInvocationDispatcher dispatcher ) : object
GetProxyTypeFromCache ( AspectSharp.Lang.AST.AspectDefinition aspect, Type baseType ) : Type
Merge ( object args1, object args2 ) : object[]
ObtainClassProxyInstance ( AspectSharp.Lang.AST.AspectDefinition aspect, Type baseClass, object mixins, IInvocationDispatcher dispatcher ) : object
ObtainInterfaceProxyInstance ( AspectSharp.Lang.AST.AspectDefinition aspect, object target, Type inter, object mixins, IInvocationDispatcher dispatcher ) : object
RegisterProxyTypeInCache ( AspectSharp.Lang.AST.AspectDefinition aspect, Type baseType, Type proxyType ) : void

Method Details

CreateAndInstantiateClassProxy() protected method

protected CreateAndInstantiateClassProxy ( Type baseClass, AspectSharp.Lang.AST.AspectDefinition aspect, IInvocationDispatcher dispatcher ) : object
baseClass System.Type
aspect AspectSharp.Lang.AST.AspectDefinition
dispatcher IInvocationDispatcher
return object

CreateAndInstantiateInterfaceProxy() protected method

protected CreateAndInstantiateInterfaceProxy ( Type inter, object target, AspectSharp.Lang.AST.AspectDefinition aspect, IInvocationDispatcher dispatcher ) : object
inter System.Type
target object
aspect AspectSharp.Lang.AST.AspectDefinition
dispatcher IInvocationDispatcher
return object

CreateClassProxy() public method

public CreateClassProxy ( Type classType, AspectSharp.Lang.AST.AspectDefinition aspect ) : object
classType System.Type
aspect AspectSharp.Lang.AST.AspectDefinition
return object

CreateInterfaceProxy() public method

public CreateInterfaceProxy ( Type inter, object target, AspectSharp.Lang.AST.AspectDefinition aspect ) : object
inter System.Type
target object
aspect AspectSharp.Lang.AST.AspectDefinition
return object

DefaultProxyFactory() public method

Constructs a DefaultProxyFactory
public DefaultProxyFactory ( AspectEngine engine ) : System
engine AspectEngine
return System

DefaultProxyFactory() public method

Constructs a DefaultProxyFactory
public DefaultProxyFactory ( AspectEngine engine, IInvocationDispatcherFactory dispatcherFactory ) : System
engine AspectEngine
dispatcherFactory IInvocationDispatcherFactory
return System

InitializeMixins() protected method

protected InitializeMixins ( object proxy, object mixins ) : void
proxy object
mixins object
return void

InstantiateMixins() protected method

protected InstantiateMixins ( AspectSharp.Lang.AST.MixinDefinitionCollection mixins ) : object[]
mixins AspectSharp.Lang.AST.MixinDefinitionCollection
return object[]