Main Content

ReleaseCompatibilityResults

特定のバージョン番号におけるツールボックスのアップグレード結果

R2019b 以降

説明

ReleaseCompatibilityResults オブジェクトは、ツールボックスの特定のバージョン番号の個人用設定をアップグレードした結果を表します。

作成

関数 matlab.settings.loadSettingsCompatibilityResults を使用して、ツールボックスの特定のバージョン番号用の ReleaseCompatibilityResults オブジェクトを作成します。たとえば、次のコマンドは、ツールボックス mytoolbox の version 2ReleaseCompatibilityResults オブジェクトを取得します。

myCompatibilityResults = matlab.settings.loadSettingsCompatibilityResults('mytoolbox','Version2')

ans = 
  ReleaseCompatibilityResults with properties:
               VersionLabel: "Version2"
    PreValidationExceptions: [0×0 matlab.settings.ReleaseCompatibilityException]
                    Results: [1×1 matlab.settings.VersionResults]

プロパティ

すべて展開する

ツールボックスのアップグレード先のバージョン。string スカラーとして指定します。

例: 'Version2'

最初の事前検証例外。ReleaseCompatibilityException オブジェクトとして指定します。PreValidationExceptions は、個人用設定をアップグレードする前の個人用設定ツリーおよび出荷時の設定ツリーの検証時に発生する最初の例外です。例外が発生していない場合、PreValidationExceptionsReleaseCompatibilityException オブジェクトの 0 行 0 列の配列です。

アップグレード結果。VersionResults オブジェクトの配列として指定します。

すべて折りたたむ

ツールボックスの出荷時のツリーを作成してからアップグレードを行う関数を作成し、アップグレードが正常に完了していることをテストします。

関数 createMyToolboxFactoryTree はツールボックス mytoolbox 用の出荷時の設定ツリーを作成します。

function myToolboxFactoryTree = createMyToolboxFactoryTree()
    myToolboxFactoryTree = matlab.settings.FactoryGroup.createToolboxGroup('mytoolbox', ...
        'Hidden',false);

    toolboxFontGroup = addGroup(myToolboxFactoryTree,'font','Hidden',false)
    addSetting(toolboxFontGroup,'MyFontSize','FactoryValue',11,'Hidden',false, ...
        'ValidationFcn',@matlab.settings.mustBeNumericScalar)    
    addSetting(toolboxFontGroup,'MyFontColor','FactoryValue','Black', ...
        'Hidden',false,'ValidationFcn',@matlab.settings.mustBeStringScalar);
end

空の matlab.settings.SettingsFileUpgrader オブジェクトを指定して、関数 createMyToolboxSettingsFileUpgraders を作成します。

function upgraders = createMyToolboxSettingsFileUpgraders()
    upgraders = matlab.settings.SettingsFileUpgrader.empty;
end

ツールボックスの settingsInfo.json ファイルを作成します。ルート設定グループ名として mytoolbox、設定ツリー作成関数として createMyToolboxFactoryTree、設定ツリー アップグレード関数として createMyToolboxSettingsFileUpgraders を指定します。settingsInfo.json をツールボックスの resources フォルダーに配置します。

{
"ToolboxGroupName" : "mytoolbox",
"Hidden" : false,
"CreateTreeFcn" : "createMyToolboxFactoryTree",
"CreateUpgradersFcn" : "createMyToolboxSettingsFileUpgraders"
}

設定ツリー作成関数を含むフォルダーとツールボックスのリソース フォルダーを MATLAB® パスに追加します。次に、mytoolbox の出荷時の設定ツリーを読み込みます。

matlab.settings.reloadFactoryFile('mytoolbox');

関数 settings を使用して設定ツリーのルートにアクセスし、MyFontSize 設定の個人用の値を設定します。

s = settings;
s.mytoolbox.font.MyFontSize.PersonalValue = 15;

createMyToolboxFactoryTree の設定名を MyFontSizeMyFontColor から FontSizeFontColor に変更します。

function myToolboxFactoryTree = createMyToolboxFactoryTree()
    myToolboxFactoryTree = matlab.settings.FactoryGroup.createToolboxGroup('mytoolbox', ...
        'Hidden',false);

    toolboxFontGroup = addGroup(myToolboxFactoryTree,'font','Hidden',false)
    addSetting(toolboxFontGroup,'FontSize','FactoryValue',11,'Hidden',false, ...
        'ValidationFcn',@matlab.settings.mustBeNumericScalar)    
    addSetting(toolboxFontGroup,'FontColor','FactoryValue','Black', ...
        'Hidden',false,'ValidationFcn',@matlab.settings.mustBeStringScalar);
end

2 つの設定の名前変更を、mytoolbox Version 2 の設定ツリーへの変更として関数 createMyToolboxSettingsFileUpgraders に記録します。

function upgraders = createMyToolboxSettingsFileUpgraders()
    upgraders = matlab.settings.SettingsFileUpgrader('Version2'); 
    move(upgraders,'mytoolbox.font.MyFontSize','mytoolbox.font.FontSize'); 
    move(upgraders,'mytoolbox.font.MyFontColor','mytoolbox.font.FontColor');
end

mytoolbox の出荷時の設定ツリーを再度読み込みます。

matlab.settings.reloadFactoryFile('mytoolbox');

関数 settings を使用して設定ツリーのルートにアクセスし、FontSize 設定の個人用の値が MyFontSize 設定から正しく移動していることを確認します。

s = settings;
s.mytoolbox.font.FontSize
ans = 
  Setting 'mytoolbox.font.FontSize' with properties:
       ActiveValue: 15
    TemporaryValue: <no value>
     PersonalValue: 15
      FactoryValue: 11

mytoolbox の version 2 のアップグレード結果を取得します。

matlab.settings.loadSettingsCompatibilityResults('mytoolbox','Version2')
ans = 
  ReleaseCompatibilityResults with properties:
               VersionLabel: "Version2"
    PreValidationExceptions: [0×0 matlab.settings.ReleaseCompatibilityException]
                    Results: [1×1 matlab.settings.VersionResults]

バージョン履歴

R2019b で導入