Show / Hide Table of Contents

Class Template<TContext, TTarget, TRenderingContext>

A general ancestor for any template. All templates derive from this class directly or indirectly. A template is a class that gets instantiated at some point to Render() its content into IRenderingTarget instance. Templates are not necessarily text-based, i.e. they can be image-based or based on various kinds of binary files

Inheritance
System.Object
Template<TContext, TTarget, TRenderingContext>
WaveTemplate
Implements
ITemplate
Inherited Members
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)
System.Object.ToString()
Namespace: NFX.Templatization
Assembly: NFX.dll
Syntax
public abstract class Template<TContext, TTarget, TRenderingContext> : ITemplate where TContext : class where TTarget : class, IRenderingTarget
Type Parameters
Name Description
TContext
TTarget
TRenderingContext

Constructors

Template()

Declaration
protected Template()

Template(TContext)

Declaration
protected Template(TContext context)
Parameters
Type Name Description
TContext context

Properties

CanReuseInstance

Indicates whether an instance of template class may be reused for invocation of Render() more than once (possibly with different rendering target and/or rendering context)

Declaration
public abstract bool CanReuseInstance { get; }
Property Value
Type Description
System.Boolean

Context

Custom context for the lifetime of this template

Declaration
public TContext Context { get; }
Property Value
Type Description
TContext

RenderingContext

Returns thread-local rendering context which is specific for this call to Render()

Declaration
public TRenderingContext RenderingContext { get; }
Property Value
Type Description
TRenderingContext

Target

Returns thread-local target which is specific for this call to Render()

Declaration
public TTarget Target { get; }
Property Value
Type Description
TTarget

Methods

BindGlobalContexts(TContext)

Infrastructure. Sets Context property. Normally this method should never be called by developers

Declaration
public void BindGlobalContexts(TContext context)
Parameters
Type Name Description
TContext context

DoContextBinding()

Infrastructure. Override to perform extra steps after Context property gets set. Normally this method should never be called by developers

Declaration
protected virtual void DoContextBinding()

DoPostRender(Exception)

Performs post-rendering actions. Return true to rethrow error

Declaration
protected virtual bool DoPostRender(Exception error)
Parameters
Type Name Description
System.Exception error
Returns
Type Description
System.Boolean

DoPreRender()

Performs pre-rendering actions

Declaration
protected virtual void DoPreRender()

DoRender()

Performs actual rendering

Declaration
protected virtual void DoRender()

Render(TTarget, TRenderingContext)

Renders template by generating content into target

Declaration
public void Render(TTarget target, TRenderingContext renderingContext)
Parameters
Type Name Description
TTarget target

A target to render output into

TRenderingContext renderingContext

A context object for this rendering call

Explicit Interface Implementations

ITemplate.Context

Declaration
object ITemplate.Context { get; }
Returns
Type Description
System.Object

ITemplate.Render(IRenderingTarget, Object)

Declaration
void ITemplate.Render(IRenderingTarget target, object renderingContext)
Parameters
Type Name Description
IRenderingTarget target
System.Object renderingContext

Implements

ITemplate

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