Show / Hide Table of Contents

Class TypeLookupHandler<TTarget>

Represents a base handler for all handlers that dynamicaly resolve type that performs actual work

Inheritance
System.Object
DisposableObject
ApplicationComponent
WorkHandler
TypeLookupHandler<TTarget>
MVCHandler
TemplateHandler
Implements
IApplicationComponent
System.IDisposable
INamed
IOrdered
Inherited Members
WorkHandler.CONFIG_HANDLER_SECTION
WorkHandler.Destructor()
WorkHandler.Name
WorkHandler.Order
WorkHandler.Matches
WorkHandler.Filters
WorkHandler.Server
WorkHandler.Dispatcher
WorkHandler.ParentHandler
WorkHandler.NetGate
WorkHandler.RegisterFilter(WorkFilter)
WorkHandler.UnRegisterFilter(WorkFilter)
WorkHandler.FilterAndHandleWork(WorkContext)
WorkHandler.HandleWork(WorkContext)
WorkHandler.ToString()
WorkHandler.MakeMatch(WorkContext)
ApplicationComponent.AllComponents
ApplicationComponent.GetAppComponentBySID(UInt64)
ApplicationComponent.GetAppComponentByCommonName(String)
ApplicationComponent.ComponentSID
ApplicationComponent.ComponentStartTime
ApplicationComponent.ComponentCommonName
ApplicationComponent.ComponentDirector
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: NFX.Wave.Handlers
Assembly: NFX.Wave.dll
Syntax
public abstract class TypeLookupHandler<TTarget> : WorkHandler, IApplicationComponent, IDisposable, INamed, IOrdered where TTarget : class
Type Parameters
Name Description
TTarget

Constructors

TypeLookupHandler(WorkDispatcher, IConfigSectionNode)

Declaration
protected TypeLookupHandler(WorkDispatcher dispatcher, IConfigSectionNode confNode)
Parameters
Type Name Description
WorkDispatcher dispatcher
IConfigSectionNode confNode

TypeLookupHandler(WorkDispatcher, String, Int32, WorkMatch)

Declaration
protected TypeLookupHandler(WorkDispatcher dispatcher, string name, int order, WorkMatch match)
Parameters
Type Name Description
WorkDispatcher dispatcher
System.String name
System.Int32 order
WorkMatch match

Fields

CONFIG_CLOAK_TYPE_ATTR

Declaration
public const string CONFIG_CLOAK_TYPE_ATTR = "cloak-type"
Field Value
Type Description
System.String

CONFIG_DEFAULT_TYPE_ATTR

Declaration
public const string CONFIG_DEFAULT_TYPE_ATTR = "default-type"
Field Value
Type Description
System.String

CONFIG_NOT_FOUND_REDIRECT_URL_ATTR

Declaration
public const string CONFIG_NOT_FOUND_REDIRECT_URL_ATTR = "not-found-redirect-url"
Field Value
Type Description
System.String

VAR_INSTANCE_ID

Declaration
public const string VAR_INSTANCE_ID = "instanceID"
Field Value
Type Description
System.String

VAR_TARGET_TYPE

Declaration
public const string VAR_TARGET_TYPE = "type"
Field Value
Type Description
System.String

Properties

CloakTypeName

Provides type name which is used if the prior one was not found. This allows to block 404 errors, i.e. if page with requested name is not found then always return the specified page

Declaration
public string CloakTypeName { get; set; }
Property Value
Type Description
System.String

DefaultTypeName

Provides default type name

Declaration
public string DefaultTypeName { get; set; }
Property Value
Type Description
System.String

NotFoundRedirectURL

Provides redirect URL where the user gets redirected when type name could not be resolved. Note: CloakTypeName is used first when set.

Declaration
public string NotFoundRedirectURL { get; set; }
Property Value
Type Description
System.String

SupportsInstanceID

Indicates whether instance IDs are supported in requests. Default is false. Override to return true for handlers that support target instance state between requests

Declaration
public virtual bool SupportsInstanceID { get; }
Property Value
Type Description
System.Boolean

TypeLocations

Returns a registry of type locations

Declaration
public TypeLocations TypeLocations { get; }
Property Value
Type Description
TypeLocations

Methods

CreateTargetInstance(WorkContext, Type)

Factory method - Override to create and init more particular template implementation (i.e. based on model)

Declaration
protected virtual TTarget CreateTargetInstance(WorkContext work, Type tt)
Parameters
Type Name Description
WorkContext work
System.Type tt
Returns
Type Description
TTarget

DeleteTargetInstanceByID(WorkContext, Guid)

Deletes target instance with id from store. Default implementation uses Application.ObjectStore.

Declaration
protected virtual void DeleteTargetInstanceByID(WorkContext work, Guid id)
Parameters
Type Name Description
WorkContext work
System.Guid id

Do404(WorkContext)

Override to handle 404 condition, i.e. may write into response instead of generating a exception. The default implementation returns a HttpStatusException with 404 code

Declaration
protected virtual HTTPStatusException Do404(WorkContext context)
Parameters
Type Name Description
WorkContext context
Returns
Type Description
HTTPStatusException

DoError(WorkContext, Exception)

Override to handle error processing, i.e. may elect to write error data into response. The dafault implementation throws the error. It is recommended to handle errors with filters instead

Declaration
protected virtual void DoError(WorkContext work, Exception error)
Parameters
Type Name Description
WorkContext work
System.Exception error

DoHandleWork(WorkContext)

Sealed. Override DoTargetWork(TTarget, WorkContext) to do actual work

Declaration
protected override sealed void DoHandleWork(WorkContext work)
Parameters
Type Name Description
WorkContext work
Overrides
WorkHandler.DoHandleWork(WorkContext)

DoTargetWork(TTarget, WorkContext)

Performs work on the target instance

Declaration
protected abstract void DoTargetWork(TTarget target, WorkContext work)
Parameters
Type Name Description
TTarget target
WorkContext work

GetTargetInstanceByID(WorkContext, Guid)

Retrieves target instance from id. Default implementation uses Application.ObjectStore. If this method is called by the framework then complementary matching PutTargetInstanceWithID() is guaranteed to be called as well

Declaration
protected virtual TTarget GetTargetInstanceByID(WorkContext work, Guid id)
Parameters
Type Name Description
WorkContext work
System.Guid id
Returns
Type Description
TTarget

GetTargetInstanceID(WorkContext, ref Guid)

Override to extract instance ID from WorkContext

Declaration
protected virtual bool GetTargetInstanceID(WorkContext work, ref Guid id)
Parameters
Type Name Description
WorkContext work
System.Guid id
Returns
Type Description
System.Boolean

GetTargetType(WorkContext)

Override to resolve route/URL parameters to type

Declaration
protected virtual Type GetTargetType(WorkContext work)
Parameters
Type Name Description
WorkContext work
Returns
Type Description
System.Type

GetTargetTypeNameFromWorkContext(WorkContext)

Override to get type name from WorkContext. Default implementation looks for MatchedVars[VAR_TARGET_TYPE]

Declaration
protected virtual string GetTargetTypeNameFromWorkContext(WorkContext work)
Parameters
Type Name Description
WorkContext work
Returns
Type Description
System.String

PutTargetInstanceByID(WorkContext, Guid, TTarget, Int32)

Puts target instance with id into store. Default implementation uses Application.ObjectStore. This method is called by the framework to complement GetTargetInstanceFromID()

Declaration
protected virtual void PutTargetInstanceByID(WorkContext work, Guid id, TTarget target, int msTimeout = 0)
Parameters
Type Name Description
WorkContext work
System.Guid id
TTarget target
System.Int32 msTimeout

Implements

IApplicationComponent
System.IDisposable
INamed
IOrdered

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX