www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/+mbcutils/GenericTableProvider.m

    classdef GenericTableProvider < handle
    %GenericTableProvider Singleton object that stores a list of
    %TableProviders that can be used to find and get tables from a project.
    
    %  Copyright 2015 The MathWorks, Inc.

    properties (SetAccess=private)
        %RegisteredTableProviders Stores list of TableProviders
        RegisteredTableProviders = {};
    end
    
    properties (Constant)
        %Instance Singleton property
        Instance=mbcutils.GenericTableProvider();
    end
    
    methods (Access=private)
        function obj=GenericTableProvider()
            %GenericTableProvider Constructor for GenericTableProvider
        end
    end
    
    methods
        
        function addTableProvider(obj, newTableProvider)
            %addTableProvider Adds a new TableProvider to the list
            obj.RegisteredTableProviders{end+1} = newTableProvider;
        end
        
        function resetTableProvider(obj)
            %resetTableProvider Clears the list of available TableProviders
            obj.RegisteredTableProviders = {};
        end
        
        function removeTableProvider(obj, delTableProvider)
            %removeTableProvider Removes a specified TableProvider from the
            % list of TableProviders
            for i=length(obj.RegisteredTableProviders):-1:1
                if isequal(obj.RegisteredTableProviders{i}, delTableProvider)
                    obj.RegisteredTableProviders(i)=[];
                end
            end
        end
        
        function tableProvider = getTableProvider(obj, index)
            %getTableProvider Returns the TableProvider with the specified index
            tableProvider = obj.RegisteredTableProviders{index};
        end
    end
end