classdef CSDConfig < matlab.mixin.SetGet & matlab.mixin.Copyable
    %modelpack.CSDConfig class
    %    modelpack.CSDConfig properties:
    %       ActiveInputs - Property is of type 'handle vector'
    %       InputType - Property is of type 'string'

    % Copyright 2000-2023 The MathWorks, Inc.

    properties (SetObservable)
        %ACTIVEINPUTS Property is of type 'handle vector'
        ActiveInputs = [];
        %INPUTTYPE Property is of type 'string'
        InputType = '';
    end

    methods
        function set.ActiveInputs(obj,value)
            % DataType = 'handle vector'
            validateattributes(value,{'handle'}, {'vector'},'','ActiveInputs')
            obj.ActiveInputs = value;
        end

        function set.InputType(obj,value)
            % DataType = 'string'
            validateattributes(value,{'char'}, {'row'},'','InputType')
            obj.InputType = localSetType(obj,value);
        end

    end   % set and get functions
end  % classdef

function value = localSetType(~, value)

ValidTypes = {'step','impulse','specified'};
idx = strcmp(ValidTypes,value);
if ~any(idx)
    error(message('SLControllib:modelpack:errValueEnumerated','InputType', '{''step''|''impulse''|''specified''}'));
end
end  % localSetType


% LocalWords:  ACTIVEINPUTS INPUTTYPE
