かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

FileSystemAPI その4 .settings

ついに最後!!
.settingsファイルです。

本によるとシンプルらしいですとよ。

layer.xmlには下のように書くとOK

    <folder name="okazuki">
        <!-- 前回からあったやつ -->
        <file name="okazuki-modules-menus-Person.instance"/>
        <file name="myPerson.instance">
            <attr name="instanceClass" stringvalue="okazuki.modules.menus.Person"/>
            <attr name="instanceCreate" methodvalue="okazuki.modules.menus.Person.createFromFileObject"/>
            <attr name="name" stringvalue="太郎"/>
        </file>
        <file name="shadowPerson.shadow">
            <attr name="originalFile" stringvalue="okazuki/myPerson.instance"/>
        </file>
        <!-- 今回付けたしたやつ -->
        <file name="settingsPerson.settings" url="PersonSettings.xml">
            <attr name="name" stringvalue="二郎" />
        </file>
    </folder>

urlにsettingsファイルのxmlの名前を書く!!
PersonSettings.xmlの中身はこんなかんじ。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
<settings version="1.0">
    <module name="okazuki.modules.menus" spec="1.0"/>
    <instanceof class="okazuki.modules.menus.Person"/>
    <instance class="okazuki.modules.menus.Person" method="createFromFileObject"/>
</settings>

instanceofにクラス名を書くみたい。
親クラスとかもあれば書けば?的なノリみたい。
とりあえず、Personクラスだけ書いておけば動いた。
instanceタグには、インスタンスを作るメソッドを書けばOK!

後は今までと同じノリで書けば普通にインスタンスをゲットできた。
Windowコンポーネントをウィザードで作るとこんな感じのsettingsファイルとかができるらしい。