Class BreakableModel
Provides a default implementation for models that can have a broken state
Inheritance
Implements
Namespace: Artemis.Core
Assembly: Artemis.Core.dll
Syntax
public abstract class BreakableModel : CorePropertyChanged, IBreakableModel
Constructors
BreakableModel()
Declaration
protected BreakableModel()
Properties
BrokenDisplayName
Gets the display name of this breakable model
Declaration
public abstract string BrokenDisplayName { get; }
Property Value
Type | Description |
---|---|
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
Declaration
public string? BrokenState { get; set; }
Property Value
Type | Description |
---|---|
string |
BrokenStateException
Gets or sets the exception that caused the broken state
Note: If setting this manually you are also responsible for invoking BrokenStateChanged
Declaration
public Exception? BrokenStateException { get; set; }
Property Value
Type | Description |
---|---|
Exception |
Methods
ClearBrokenState(string)
Clears the broken state and exception if BrokenState equals
Declaration
public void ClearBrokenState(string state)
Parameters
Type | Name | Description |
---|---|---|
string | state |
GetBrokenHierarchy()
Returns a list containing all broken models, including self and any children
Declaration
public virtual IEnumerable<IBreakableModel> GetBrokenHierarchy()
Returns
Type | Description |
---|---|
IEnumerable<IBreakableModel> |
OnBrokenStateChanged()
Invokes the BrokenStateChanged event
Declaration
protected virtual void OnBrokenStateChanged()
SetBrokenState(string, Exception?)
Sets the broken state to the provided state and optional exception.
Declaration
public void SetBrokenState(string state, Exception? exception = null)
Parameters
Type | Name | Description |
---|---|---|
string | state | 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
Declaration
public bool TryOrBreak(Action action, string breakMessage)
Parameters
Type | Name | Description |
---|---|---|
Action | action | The action to attempt to execute |
string | breakMessage | The message to clear on succeed or set on failure (exception) |
Returns
Type | Description |
---|---|
bool |
Events
BrokenStateChanged
Occurs when the broken state of this model changes
Declaration
public event EventHandler? BrokenStateChanged
Event Type
Type | Description |
---|---|
EventHandler |