OperationResult

Объект результата операции

Описание

OperationResult объект представляет состояние отдельной операции при обновлении персональных настроек тулбокса.

Создание

Создайте ReleaseCompatibilityResults объект для определенного номера версии тулбокса при помощи matlab.settings.loadSettingsCompatibilityResults функция. Доступ к Results свойство и полученный объект VersionChanges свойство получить массив OperationResult объекты.

Например, этот код получает массив OperationResult объекты для версии 2 из тулбокса mytoolbox.

myCompatibilityResults = matlab.settings.loadSettingsCompatibilityResults('mytoolbox','Version2');
myCompatibilityResults.Results.VersionChanges
ans = 
  1×2 OperationResult array with properties:
    Operation
    Status
    ExceptionLog

Свойства

развернуть все

Обновите операцию, выполняемую, заданную как скаляр строки.

Пример: "move mytoolbox.font.MyFontSize mytoolbox.font.FontSize"

Состояние операции обновления, заданной как "Succeeded", "Skipped", или "Failed". Эта таблица описывает каждое состояние и возможные причины.

СостояниеПричина
"Succeeded"Нет данных
"Skipped"Установка или установка группы, заданной в операции, не существуют в персональных настройках, которые будут обновлены.
"Failed"Операции пересылки
  • Обновленное дерево настроек уже содержит установку или группу с указанным именем.

  • Заданный путь группы установки или настроек не является допустимым путем.

Удалите операции
  • Заданный путь группы установки или настроек не является допустимым путем.

Журнал исключений, которые произошли при выполнении операции обновления, заданной как массив объектов исключения совместимости версий. Если никакое исключение не происходит, MATLAB® возвращает 0- 0 массив.

Примеры

свернуть все

Создайте функции, чтобы создать и затем обновить дерево фабрики тулбокса и затем протестировать это, обновление завершается успешно.

Создайте функциональный 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

Создайте функциональный 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 быть FontSize и FontColor.

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

Запишите переименовывание этих двух настроек в createMyToolboxSettingsFileUpgraders функционируйте как изменения в дереве настроек для версии 2 из mytoolbox.

function upgraders = createMyToolboxSettingsFileUpgraders()
    upgraders = matlab.settings.SettingsFileUpgrader('Version2'); 
    upgraders.move('mytoolbox.font.MyFontSize','mytoolbox.font.FontSize'); 
    upgraders.move('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

Получите результат первой операции обновления для версии 2 из mytoolbox.

compatibilityResults.matlab.settings.loadSettingsCompatibilityResults("mytoolbox","Version2");
compatibilityResults.Results.VersionChanges(1)
ans = 
  OperationResult with properties:
       Operation: "move mytoolbox.font.MyFontSize mytoolbox.font.FontSize"
          Status: "Succeeded"
    ExceptionLog: [0×0 matlab.settings.ReleaseCompatibilityException]

Введенный в R2019b

Для просмотра документации необходимо авторизоваться на сайте