classdef Command < target.Data

    properties (Dependent)
        Arguments string {mustBeVector(Arguments, "allow-all-empties")}
        String (1, 1) string
    end

    methods

        function value = get.Arguments(this)
            value = this.InnerInstance.Arguments;
        end

        function set.Arguments(this, value)
            this.InnerInstance.Arguments = value;
        end

        function value = get.String(this)
            value = this.InnerInstance.String;
        end

        function set.String(this, value)
            this.InnerInstance.String = value;
        end

        function varargout = getCommandLineString(this)
            [innerThis] = targetframework.internal.user.commandline.matlab.Helpers.unwrapValues(this);
            [varargout{1:nargout}] = getCommandLineString(innerThis);
            [varargout{:}] = targetframework.internal.user.commandline.matlab.Helpers.wrapValues(varargout{:});
        end
    end

    methods (Static, Access = protected)

        function name = getQualifiedName()
            name = "target.Command";
        end

        function name = getQualifiedInnerName()
            name = "target.internal.Command";
        end
    end
end

%   Copyright 2021-2022 The MathWorks, Inc.