diff --git a/Beam.Models/ResourceDefinition.cs b/Beam.Models/ResourceDefinition.cs index ff74b31..8820e02 100644 --- a/Beam.Models/ResourceDefinition.cs +++ b/Beam.Models/ResourceDefinition.cs @@ -19,8 +19,8 @@ public class ResourceDefinition { } public class UrlLocation { - public ILinkBuilder Segments { get; init; } - public List States { get; init; } - public IStateChangerFactory StateChanger { get; init; } + public required ILinkBuilder Segments { get; init; } + public required List States { get; init; } + public required IStateChangerFactory StateChanger { get; init; } } } \ No newline at end of file diff --git a/Beam/OrderedLinkGenerator.cs b/Beam/OrderedLinkGenerator.cs index 2fd6708..92b9305 100644 --- a/Beam/OrderedLinkGenerator.cs +++ b/Beam/OrderedLinkGenerator.cs @@ -15,14 +15,14 @@ namespace Beam { public class OrderedLinkGenerator : IEnumerator { public ILinkBuilder Builder { get; set; } - public NumberedStateChanger Behaviour { get; } + public IStateChangeBehaviour Behaviour { get; } private IState? EndState; private IState InitialState; - public OrderedLinkGenerator(ILinkBuilder builder, NumberedStateChanger behaviour, params string[] initialState) + public OrderedLinkGenerator(ILinkBuilder builder, IStateChangeBehaviour behaviour, params string[] initialState) : this(builder, behaviour, new State(initialState)) { } - public OrderedLinkGenerator(ILinkBuilder builder, NumberedStateChanger behaviour, IState initialState, IState? endState = null) { + public OrderedLinkGenerator(ILinkBuilder builder, IStateChangeBehaviour behaviour, IState initialState, IState? endState = null) { Builder = builder; Behaviour = behaviour; InitialState = initialState.Copy();