Table of Contents

Class BreakableModel

Namespace
Artemis.Core
Assembly
Artemis.Core.dll

Provides a default implementation for models that can have a broken state

public abstract class BreakableModel : CorePropertyChanged, IBreakableModel
Inheritance
object
CorePropertyChanged
BreakableModel
Implements
Derived

Properties

BrokenDisplayName

Gets the display name of this breakable model

public abstract string BrokenDisplayName { get; }

Property Value

string

BrokenState

Gets or sets the broken state of this breakable model, if null this model is not broken.

Note: If setting this manually you are also responsible for invoking BrokenStateChanged

public string? BrokenState { get; set; }

Property Value

string

BrokenStateException

Gets or sets the exception that caused the broken state

Note: If setting this manually you are also responsible for invoking BrokenStateChanged

public Exception? BrokenStateException { get; set; }

Property Value

Exception

Methods

ClearBrokenState(string)

Clears the broken state and exception if BrokenState equals .

public void ClearBrokenState(string state)

Parameters

state string

GetBrokenHierarchy()

Returns a list containing all broken models, including self and any children

public virtual IEnumerable<IBreakableModel> GetBrokenHierarchy()

Returns

IEnumerable<IBreakableModel>

OnBrokenStateChanged()

Invokes the BrokenStateChanged event

protected virtual void OnBrokenStateChanged()

SetBrokenState(string, Exception?)

Sets the broken state to the provided state and optional exception.

public void SetBrokenState(string state, Exception? exception = null)

Parameters

state string

The state to set the broken state to

exception Exception

The exception that caused the broken state

TryOrBreak(Action, string)

Try to execute the provided action. If the action succeeded the broken state is cleared if it matches , if the action throws an exception BrokenState and BrokenStateException are set accordingly.

public bool TryOrBreak(Action action, string breakMessage)

Parameters

action Action

The action to attempt to execute

breakMessage string

The message to clear on succeed or set on failure (exception)

Returns

bool

true if the action succeeded; otherwise false.

Events

BrokenStateChanged

Occurs when the broken state of this model changes

public event EventHandler? BrokenStateChanged

Event Type

EventHandler