Public MustInherit Class ActivityState Implements IActivityActions Public Activity As IActivity Protected Property CurrentEmployee As IEmployee ''' ''' The for the current state. ''' ''' Public MustOverride Function ActivityStateEnum() As ActivityStateEnum Public Overridable Function GetEmployee() As IEmployee Throw New Exception("No employee present.") End Function ''' Public Overridable Sub StartActivity(employee As IEmployee) Implements IActivityActions.StartActivity Throw New Exception("Can't start the activity in this state.") End Sub ''' Public Overridable Sub StopActivity() Implements IActivityActions.StopActivity Throw New Exception("Can't stop the activity in this state.") End Sub ''' Public Overridable Sub FinishActivity() Implements IActivityActions.FinishActivity Throw New Exception("Can't finish the activity in this state.") End Sub End Class