classdef ConfigurationSet < extmgr.AbstractSet
    %ConfigurationSet ConfigurationSet   Define the ConfigurationSet class.
    %    ConfigurationSet   Define the ConfigurationSet class.

%   Copyright 2014-2020 The MathWorks, Inc.
    
    %   $Revision: 1.1.6.1 $ $Date: 2014/01/20 17:38:16 $
    %
    %   Generated on 03-Dec-2013 17:29:21
    
    properties
        %AllowConfigEnableChangedEvent Enable broadcast of ConfigEnableChanged event
        %      By default, we allow this     Methods may disable this is order to make changes to enable states   without broadcasting the individual changes
        AllowConfigEnableChangedEvent = true
    end
    
    properties (Access=protected,Transient)
        EnableListener
    end
    
    events
        ConfigEnableChanged
    end
    
    methods
        function this = ConfigurationSet(varargin)
            %ConfigurationSet   Construct the ConfigurationSet class.
            mlock;
            if nargin>0
                if (ischar(varargin{1}) || (isstring(varargin{1}) && isscalar(varargin{1})))
                    this.add(varargin{:});
                else
                    this.Children = [varargin{:}];
                    childChanged(this);
                end
            end
        end
    end
    
    methods (Access=protected,Static)
        c = getChildClass
    end
    
    methods (Hidden)
        hConfigDb = convertToOldFormat(this)
        
        hConfig = findConfig(this,varargin)
        
        s = saveobj(this)
    end
    
    methods (Static,Hidden)
        this = loadobj(s)
    end
    
    methods (Static)
        [hConfigDb,fileLoaded] = createAndLoad(cfgFile,hMessageLog)
    end
end

% [EOF]
