PeanutButter
Loading...
Searching...
No Matches
PeanutButter.Utils.Builder< TBuilder, TEntity > Class Template Referenceabstract

Provides a base class with simple builder functionality. More...

Inheritance diagram for PeanutButter.Utils.Builder< TBuilder, TEntity >:
PeanutButter.Utils.IBuilder< TBuilder, TEntity > PeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettingsBuilder

Public Member Functions

TBuilder WithProp (ActionRef< TEntity > transform)
 Generic property mutator to apply to built entity of pass-by-value type (eg a struct)
TBuilder WithProp (Action< TEntity > transform)
 Generic property mutator to apply to built entity of pass-by-ref type (eg class)
virtual TEntity Build ()
 Attempts to:

Static Public Member Functions

static TBuilder Create ()
 Creates an instance of this builder; used for fluent code like: SomeBuilder.Create() .WithStuff() .Build();.
static TEntity BuildDefault ()
 Builds a default instance of TEntity based on your builder's ConstructEntity and Build methods (ie convenience wrapper around YourBuilder.Create().Build())

Protected Member Functions

virtual TEntity ConstructEntity ()
 Allows the derivative class to implement a custom strategy for entity construction; for example:

Detailed Description

Provides a base class with simple builder functionality.

Template Parameters
TBuilder
TEntity
Type Constraints
TBuilder :Builder 
TBuilder :TBuilder 
TBuilder :TEntity 
TBuilder :IBuilder 
TBuilder :TBuilder 
TBuilder :TEntity 
TBuilder :new() 

Member Function Documentation

◆ Build()

virtual TEntity PeanutButter.Utils.Builder< TBuilder, TEntity >.Build ( )
virtual

Attempts to:

  • construct the entity
  • apply all transforms
  • return the entity
Returns

Implements PeanutButter.Utils.IBuilder< TBuilder, TEntity >.

◆ BuildDefault()

TEntity PeanutButter.Utils.Builder< TBuilder, TEntity >.BuildDefault ( )
static

Builds a default instance of TEntity based on your builder's ConstructEntity and Build methods (ie convenience wrapper around YourBuilder.Create().Build())

Returns

◆ ConstructEntity()

virtual TEntity PeanutButter.Utils.Builder< TBuilder, TEntity >.ConstructEntity ( )
protectedvirtual

Allows the derivative class to implement a custom strategy for entity construction; for example:

  • providing constructor parameters
  • returning an implementation for an interface
Returns

◆ WithProp() [1/2]

TBuilder PeanutButter.Utils.Builder< TBuilder, TEntity >.WithProp ( Action< TEntity > transform)

Generic property mutator to apply to built entity of pass-by-ref type (eg class)

Parameters
transform
Returns

Implements PeanutButter.Utils.IBuilder< TBuilder, TEntity >.

◆ WithProp() [2/2]

TBuilder PeanutButter.Utils.Builder< TBuilder, TEntity >.WithProp ( ActionRef< TEntity > transform)

Generic property mutator to apply to built entity of pass-by-value type (eg a struct)

Parameters
transform
Returns

Implements PeanutButter.Utils.IBuilder< TBuilder, TEntity >.


The documentation for this class was generated from the following file:
  • source/Utils/PeanutButter.Utils/Builder.cs