classdef CopulaOptions
    %COPULAOPTIONS 
    %

    % Copyright 2022 The MathWorks, Inc.

    properties
       Family (1,1) string {mustBeMember(Family,["Gaussian","t"])} = "Gaussian"
       Type (1,1) string {mustBeMember(Type,["Spearman","Kendall"])} = "Spearman"
       DOF (1,1) double {mustBeInteger,mustBeNonnegative} = 2
    end

    methods
        function obj = CopulaOptions(options)
            %COPULAOPTIONS 
            %
            arguments
                options.family = "Gaussian"
                options.type = "Spearman"
                options.dof = 2
            end

            obj.Family = options.family;
            obj.Type = options.type;
            obj.DOF = options.dof;
        end
    end
end
