Mercurial > hg > Members > kazuma > jungle-ormapper
changeset 0:44465893e8b8
first Commit
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,22 @@ +Copyright (c) 2014-2014 Shinji KONO, Kazuki Akamine, Shoshi Tamaki, Nobuyasu Ohoshiro, Yu Sugimoto, Tatsuki Kanagawa + Information Engineeering, University of the Ryukyus + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/benchmark/find.js Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,16 @@ +function findDataLoop () { +var date_obj = new Date(); +var milliseconds = date_obj.getTime(); +for (var i = 1; i<= 50000; i++) { + var personData = db.person1.find({PersonId:"p:9"}).next(); + var roleId = personData.roleId +} +date_obj = new Date(); +print(date_obj.getTime() - milliseconds) +} + +function findData () { + var personVer = db.config.find({configVer:"v:1"}).next().PersonVer; + var personCollection = db.getCollection(personVer); + db.person1.find({PersonId:"p:9"}).next(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/benchmark/insert.js Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,13 @@ +function insertData(personCount) { +db.person1.drop(); +for (var i = 1; i<= personCount ; i++) { + + var user = { + + PersonId: "p:" + String(i), + roleRefIds:"r:" + String(i)} + db.person1.insert(user); +} + +db.person1.createIndex({PersonId:1}); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/build.gradle Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,48 @@ +apply plugin: "java" + +sourceCompatibility = 1.8 +targetCompatibility = 1.8 +[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' +version = '1.0' + +repositories { + mavenCentral() + maven { url "http://eaio.com/maven2" } + maven { url "http://repo.maven.apache.org/maven2" } +} + +dependencies { + compile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.0.0' + compile "commons-collections:commons-collections:3.2.1" + compile "org.apache.maven.surefire:surefire-junit4:2.13" + compile "com.google.guava:guava:12.0" + compile fileTree(dir: 'lib', include: '*.jar') + compile "junit:junit:4.7" + compile group: 'org.eclipse.jetty', name: 'jetty-server', version:'9.1.1.v20140108' + compile group: 'org.eclipse.jetty', name: 'jetty-servlet', version:'9.2.1.v20140609' + compile group: 'org.hectorclient', name: 'hector-core', version:'1.1-2' + compile group: 'com.github.stephenc.eaio-uuid', name: 'uuid', version:'3.3.0' + compile(group: 'org.apache.cassandra', name: 'cassandra-all', version:'1.2.1') { + exclude(module: 'slf4j-log4j12') + exclude(module: 'log4j') + } +} + + + + +jar { + manifest { + attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version + } + from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + archiveName = 'jungle-core.jar' +} + +uploadArchives { + repositories { + flatDir { + dirs '.' + } + } +}
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/CassandraBulletinBoard$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/CassandraBulletinBoard$2.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/CassandraBulletinBoard$BoardMessageImpl.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/CassandraBulletinBoard.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/CreateBoardMessageServlet.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/EditMessageUseGetServlet.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/IterableConverter$Converter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/IterableConverter$IteratorConverter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/JungleBulletinBoard$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/JungleBulletinBoard$2.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/JungleBulletinBoard$BoardMessageImpl.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/JungleBulletinBoard.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/bbs/ShowBoardMessageServlet.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/benchMark/Data/TreeMapBenchMark.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/benchMark/JungleBenchMark.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/data/treemap/DefaultComparator.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/data/treemap/RotateParent.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/data/treemap/rebuildNode.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/ChangeListReader.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/ChangeListWriter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/DefaultChangeListReader.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/DefaultChangeListWriter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/DefaultJournal.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/DefaultJournalWriter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/NullJournal$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/NullJournal$NullChangeListReader.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/persistent/NullJournal$NullChangeListWriter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/DefaultNodePath.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/DefaultTreeEditor.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/IndexTreeEditor.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/TreeNodeAttributes.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/TreeNodeChildren.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/DefaultOperationLog.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/DefaultTreeOperationLog.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/LoggingAttributes.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/LoggingChildren.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/LoggingNode.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/OperationLog.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/impl/logger/TreeOperationLog.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/index/IndexCreater.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/index/ParentIndex.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/AppendChildAtOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/DefaultTreeOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/DeleteAttributeOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/DeleteChildAtOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/NodeOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/PutAttributeOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/ReplaceRootNodeOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/operations/TreeOperation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/AppendChildAt.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/DeleteAttribute.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/DeleteChildAt.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/NodeEditor.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/NodeEditorError.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/PutAttribute.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/replaceRootNodeAt.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/AbstractTreeMapThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/DataBaseBenchMarkThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/TatsukiTreeMapGetThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/UtilTreeMapGetThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/findMongoAttributeThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/findTreeAttributeThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/test/readTreeAttributeThread.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultJungleTreeEditor$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultJungleTreeEditor.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultTransactionManager$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultTransactionManager.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultTreeContext.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultTreeNode.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultTreeNodeAttribute.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/DefaultTreeNodeChildren.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/transaction/TransactionManager.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultEvaluation.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultEvaluator.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultTraverser$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultTraverser$2.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultTraverser$3.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultTraverser$4.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/DefaultTraverser.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/InterfaceTraverser$1.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/InterfaceTraverser.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/traverser/TraverserError.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/util/IterableConverter$Converter.class has changed
Binary file build/classes/main/jp/ac/u_ryukyu/ie/cr/jungle/util/IterableConverter$IteratorConverter.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/data/treemap/TreeNodeIteratorTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/core/impl/treeeditor/DefaultTreeEditorTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/AppendChildAtTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/DeleteAttributeAtTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/DeleteChildAtTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/PutAttributeTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/core/nodeeditor/ReplaceRootNodeAt.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/impl/node/DefaultAttributesTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/impl/node/DefaultChildrenTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/jungle/traverse/InterfaceTraverserTest.class has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/JungleMindmap.mm Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,240 @@ +<map version="1.0.1"> +<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> +<node CREATED="1409726078288" ID="ID_647478089" MODIFIED="1409912802514"> +<richcontent TYPE="NODE"><html> + <head> + + </head> + <body> + <p> + Jungle + </p> + </body> +</html></richcontent> +<node CREATED="1409726154557" ID="ID_751550789" MODIFIED="1409726198467" POSITION="right" TEXT="スケジュール"> +<node CREATED="1409726169906" HGAP="21" ID="ID_1745036704" MODIFIED="1409726235708" TEXT="9/15永山さん来沖" VSHIFT="-5"/> +<node CREATED="1409726198468" HGAP="21" ID="ID_41465836" MODIFIED="1409726228823" TEXT="9/18PCIプレゼンテーョン" VSHIFT="6"/> +<node CREATED="1409726286066" ID="ID_19901324" MODIFIED="1409726314038" TEXT="9/3junge読み会  "/> +</node> +<node CREATED="1409726242716" ID="ID_1717600301" MODIFIED="1409726252838" POSITION="left" TEXT="jungleの課題"> +<node CREATED="1409726253771" ID="ID_1381608182" MODIFIED="1409726257565" TEXT="リファクタリング"> +<node CREATED="1409726276236" ID="ID_1555795427" MODIFIED="1409726600088" TEXT="古い方を先に読んでその後新しい方を読む"/> +<node CREATED="1409726355435" ID="ID_133639792" MODIFIED="1409726422510" TEXT="attibuteのノード等を分けている意味がわからない"/> +<node CREATED="1409726400578" FOLDED="true" ID="ID_209791619" MODIFIED="1409727249087" TEXT="ジェネリックの扱いがわからない(children等)"> +<node CREATED="1409726444811" ID="ID_1259286182" MODIFIED="1409726450869" TEXT="                      "/> +<node CREATED="1409726451499" ID="ID_1180276559" MODIFIED="1409726451499" TEXT=""/> +</node> +<node CREATED="1409726455123" ID="ID_346888518" MODIFIED="1409726477294" TEXT="名前とTreeの対応をJungleのTreeに直す"> +<node CREATED="1409726480115" ID="ID_1560015410" MODIFIED="1409726505822" TEXT="なのでJungleをAVLに"/> +<node CREATED="1409726517683" ID="ID_1128117081" MODIFIED="1409726532614" TEXT="更新をatomicにしなくて大丈夫か?"/> +</node> +<node CREATED="1409906422242" ID="ID_92678336" MODIFIED="1409907291863" TEXT="Logを取るノードと取らないNodeを分ける" VSHIFT="81"> +<node CREATED="1409907299090" ID="ID_156102389" MODIFIED="1409907325388" TEXT="LoggingをするEditor"/> +<node CREATED="1409907325760" ID="ID_1693431989" MODIFIED="1409907338580" TEXT="Indexを更新するEditor"/> +<node CREATED="1409907339120" ID="ID_1167306471" MODIFIED="1409907353179" TEXT="Nodeを更新するだけのEditor"/> +</node> +</node> +<node CREATED="1409726560355" HGAP="32" ID="ID_1680643421" MODIFIED="1409906495696" TEXT="Aliceの部分でIOとは別にして優先度を上げる" VSHIFT="13"> +<node CREATED="1409726580851" ID="ID_70332820" MODIFIED="1409906498998" TEXT="ログの書き出しも" VSHIFT="2"/> +</node> +<node CREATED="1409726600088" ID="ID_142965815" MODIFIED="1409727174343" TEXT="API" VSHIFT="18"> +<node CREATED="1409726606857" ID="ID_405344625" MODIFIED="1409726622494" TEXT="基本的にパスでしかアクセスできないので"/> +<node CREATED="1409726624219" ID="ID_1368915826" MODIFIED="1409726642662" TEXT="indexでアクセスできるようにしたい"> +<node CREATED="1409726651188" ID="ID_763950066" MODIFIED="1409906505790" TEXT="Indexの再構成が欲しい" VSHIFT="2"/> +</node> +<node CREATED="1409726637570" ID="ID_1840769401" MODIFIED="1409726854710" TEXT="WEBからアクセスするAPIが欲しい"/> +<node CREATED="1409726842808" ID="ID_823399931" MODIFIED="1409726997548" TEXT="KeyをForgetするAPI"> +<node CREATED="1409726998097" ID="ID_1404724140" MODIFIED="1409727013630" TEXT=" mergeする可能性があるKeyだけ残す"/> +</node> +<node CREATED="1409726799739" ID="ID_1771872050" MODIFIED="1409727205486" TEXT="アクセスしたときに部分的に取ってくるAPIと部分的に取ってくるAPIが欲しい"/> +<node CREATED="1409908104921" ID="ID_515208912" MODIFIED="1409912737202" TEXT="検索のAPI"> +<node CREATED="1409908119601" ID="ID_308661535" MODIFIED="1409908142364" TEXT="getTraversaer"/> +<node CREATED="1409908143057" ID="ID_767737454" MODIFIED="1409912827805" TEXT="interface traverser"> +<node CREATED="1409912059464" ID="ID_1786348845" MODIFIED="1409912122574" TEXT="Attribute,nameの値が"kanagawa"であるものを探す"/> +<node CREATED="1409912127515" ID="ID_1936001294" MODIFIED="1409912138492" TEXT="count"> +<node CREATED="1409912143369" ID="ID_1101250261" MODIFIED="1409912287350" TEXT="Listがiteratorが返ってくる" VSHIFT="2"/> +</node> +<node CREATED="1409912195387" ID="ID_1677264420" MODIFIED="1410168480769"> +<richcontent TYPE="NODE"><html> + <head> + + </head> + <body> + <p> + orderBy + </p> + </body> +</html> +</richcontent> +</node> +<node CREATED="1409912254809" ID="ID_1535341119" MODIFIED="1409912270524" TEXT="distinct"/> +<node CREATED="1409912297489" ID="ID_185517541" MODIFIED="1409912300012" TEXT="sum"/> +<node CREATED="1409912303321" ID="ID_1425057782" MODIFIED="1409912312172" TEXT="複数のTreeのTraverse"> +<node CREATED="1409912382240" ID="ID_1596998457" MODIFIED="1409967293540" TEXT="複数のTreeからAttribute,"name"の値が等しいもののリストを持ってくるプログラムを作ってくる(宿題)" VSHIFT="1"/> +</node> +</node> +<node CREATED="1409912823732" ID="ID_68210354" MODIFIED="1409912881846" TEXT="interfaceTraverserからIndexが必要なAttributeを取り出す(宿題)"> +<node CREATED="1410514003798" ID="ID_363051278" MODIFIED="1410516434692" TEXT="interfaceにIndexが必要なattribute名と値の組のリストを入れる"> +<node CREATED="1410514878896" ID="ID_1404969445" MODIFIED="1410514915483" TEXT="andとorを用意する"/> +</node> +<node CREATED="1410514060103" ID="ID_633567682" MODIFIED="1410516523105" TEXT="× reflectionを使って自動で検出する"/> +<node CREATED="1410514082872" ID="ID_601182746" MODIFIED="1410516519954" TEXT="x Nodeへのアクセスを工夫して検出する"/> +<node CREATED="1410514507063" ID="ID_831315054" MODIFIED="1410516526595" TEXT="x indexする文字列を計算する関数を定義する"/> +</node> +<node CREATED="1409908160464" ID="ID_541009496" MODIFIED="1409908289626"> +<richcontent TYPE="NODE"><html> + <head> + + </head> + <body> + <p> + output + </p> + </body> +</html></richcontent> +<node CREATED="1409908164657" ID="ID_994155079" MODIFIED="1409910871356" TEXT="NodeとPathのリストのiterater" VSHIFT="2"/> +</node> +<node CREATED="1409912737817" HGAP="21" ID="ID_1598031941" MODIFIED="1410513560819" TEXT="indexを削除するAPI" VSHIFT="-5"/> +</node> +<node CREATED="1409913383955" ID="ID_653968339" MODIFIED="1409913399484" TEXT="誰が検索したかを保存するAPI"/> +</node> +<node CREATED="1409906099431" HGAP="22" ID="ID_1697852268" MODIFIED="1409906130605" TEXT="indexをつける" VSHIFT="50"> +<node CREATED="1409906161185" HGAP="18" ID="ID_37822884" MODIFIED="1410507481090" TEXT="indexは2重でkeyとAttributeのTreeMapとAttributeとList<TreeNode>を持つ" VSHIFT="-10"/> +<node CREATED="1409906200281" HGAP="21" ID="ID_957989771" MODIFIED="1409906786182" TEXT="各version毎にindeがある" VSHIFT="-14"/> +<node CREATED="1409906235377" HGAP="18" ID="ID_1286646129" MODIFIED="1409906798789" TEXT="indexはfjのTreeHashMapを使う" VSHIFT="-3"> +<node CREATED="1409912676387" ID="ID_1944162611" MODIFIED="1409912716086" TEXT="非破壊のindexを使いたい"/> +<node CREATED="1410516550614" ID="ID_39333260" MODIFIED="1410516587059" TEXT="indexはMD5(16文字)を使う"/> +</node> +<node CREATED="1409906326546" HGAP="22" ID="ID_1269584258" MODIFIED="1409906815222" TEXT="indexはattributeとNodeの二つを用意する" VSHIFT="-5"/> +<node CREATED="1409906387306" HGAP="22" ID="ID_63715775" MODIFIED="1409906810134" TEXT="indexを共有するといい" VSHIFT="-6"/> +<node CREATED="1409906610393" HGAP="19" ID="ID_29204462" MODIFIED="1409906820222" TEXT="indexがAVLTreeなのでJungleはAVLTreeにしなくていい"/> +<node CREATED="1410425105627" ID="ID_1101960859" MODIFIED="1410425112551" TEXT="Indexを作成する"> +<node CREATED="1410425117852" ID="ID_1991794291" MODIFIED="1410425263968" TEXT="指定されたAttribute でTraverser.find()する" VSHIFT="-1"/> +<node CREATED="1410425151354" ID="ID_181296442" MODIFIED="1410425266527" TEXT="見つかったNodeをTreeHashMapに登録する" VSHIFT="2"/> +<node CREATED="1410425345027" ID="ID_1854159529" MODIFIED="1410425427519" TEXT="TreeHashMapはfjなので毎回新しく作られるので最新のを返すようにする"/> +<node CREATED="1410514238087" ID="ID_1147421303" MODIFIED="1410514273371" TEXT="検索条件がANDの場合Indexを作るときに複数の値を組み合わせる"/> +<node CREATED="1410516631480" ID="ID_655505152" MODIFIED="1410516690959" TEXT="検索条件がorの場合はそれぞれのハッシュ値のうち小さい方を登録する"/> +<node CREATED="1410516692064" ID="ID_1181474823" MODIFIED="1410516729451" TEXT="とりあえず複数の属性のIndexを実装する"/> +</node> +<node CREATED="1410425435604" ID="ID_1483486563" MODIFIED="1410425451647" TEXT="木の変更にあわせてIndexを更新する"> +<node CREATED="1410425457404" ID="ID_1415789781" MODIFIED="1410425469510" TEXT="insert"> +<node CREATED="1410425514771" ID="ID_1914608257" MODIFIED="1410425525367" TEXT="何もしない"/> +</node> +<node CREATED="1410425469923" ID="ID_1732199164" MODIFIED="1410425471669" TEXT="delete"> +<node CREATED="1410425537836" ID="ID_1594525412" MODIFIED="1410425586049" TEXT="deleteでは対応したattributeがある場合はIndexから削除する"/> +</node> +<node CREATED="1410425479779" ID="ID_476181967" MODIFIED="1410425488151" TEXT="putAttribute"> +<node CREATED="1410425587826" ID="ID_304070760" MODIFIED="1410425675095" TEXT="putAttributeでは対応したattributeがindexにある場合更新する"/> +</node> +</node> +<node CREATED="1410425709500" ID="ID_1965057200" MODIFIED="1410425735335" TEXT="同じ値を持つ複数のNodeに対応する"/> +</node> +</node> +<node CREATED="1409726668370" ID="ID_204371770" MODIFIED="1409726690172" POSITION="right" TEXT="Matrix"> +<node CREATED="1409726674833" ID="ID_200755637" MODIFIED="1409726685246" TEXT="組織をtreeにするのは終わっている"> +<node CREATED="1409726686011" ID="ID_530305344" MODIFIED="1409726686011" TEXT=""/> +</node> +<node CREATED="1409726690173" ID="ID_1173609965" MODIFIED="1409726707813" TEXT="XACMLは勉強会"> +<node CREATED="1409726724451" ID="ID_744658833" MODIFIED="1409726734998" TEXT="オペレーションをJungleがちゃんとサポートしているか"/> +</node> +</node> +<node CREATED="1409726752851" HGAP="28" ID="ID_1096797544" MODIFIED="1409907420179" POSITION="left" TEXT="AssureNode" VSHIFT="43"> +<node CREATED="1409726765475" ID="ID_1507920801" MODIFIED="1409726773734" TEXT="Jungleとつなげる"/> +<node CREATED="1409726774355" ID="ID_105345677" MODIFIED="1409726796814" TEXT="編集コマンドをjungleに翻訳する"/> +</node> +<node CREATED="1411012020717" ID="ID_398179177" MODIFIED="1411012042698" POSITION="right" TEXT="9/18までの成果"> +<node CREATED="1411012046375" ID="ID_1760471121" MODIFIED="1411012156641" TEXT="組織構造をに木構造にした"/> +<node CREATED="1411012171503" ID="ID_10115181" MODIFIED="1411012232907" TEXT="組織構造図のBrowserを作成した"/> +<node CREATED="1411012217527" ID="ID_658316563" MODIFIED="1411012269169" TEXT="Jungleのリファクタリング"> +<node CREATED="1411012308263" ID="ID_1067800269" MODIFIED="1411012316514" TEXT="wrapperの削除"/> +<node CREATED="1411012317351" ID="ID_89156108" MODIFIED="1411012324442" TEXT="interfaceの削減"/> +<node CREATED="1411013540767" ID="ID_1148150156" MODIFIED="1411013564026" TEXT="jungleのAPIの一覧"/> +</node> +<node CREATED="1411012280303" ID="ID_1506351821" MODIFIED="1411012357354" TEXT="xacmlの調査"> +<node CREATED="1411012368647" ID="ID_1605669522" MODIFIED="1411012375584" TEXT="rule"/> +<node CREATED="1411012377525" ID="ID_409590963" MODIFIED="1411012381784" TEXT="context"/> +</node> +<node CREATED="1411012432485" ID="ID_973317332" MODIFIED="1411012464737" TEXT="JungleのQueryAPIの設計"> +<node CREATED="1411012472343" ID="ID_1801177319" MODIFIED="1411012478208" TEXT="getTraverser"/> +<node CREATED="1411012479277" ID="ID_550909148" MODIFIED="1411012505360" TEXT="Query Interface"/> +<node CREATED="1411012512101" ID="ID_636916479" MODIFIED="1411012515776" TEXT="Index"/> +</node> +<node CREATED="1411012529164" ID="ID_187998670" MODIFIED="1411012540666" TEXT="JungleのQueryAPIの実装"> +<node CREATED="1411012563319" ID="ID_1685410052" MODIFIED="1411012600168" TEXT="depth searchによるQuery"/> +<node CREATED="1411012620452" ID="ID_1294946451" MODIFIED="1411012628330" TEXT="Indexは今は後回し"/> +<node CREATED="1411012640535" ID="ID_920213328" MODIFIED="1411012655346" TEXT="lambda式の使用"/> +<node CREATED="1411013527502" ID="ID_1522079811" MODIFIED="1411013534842" TEXT="APIの実装例"/> +</node> +<node CREATED="1411012664631" ID="ID_685056734" MODIFIED="1411012752531" TEXT="maTrixの例題の作成"> +<node CREATED="1411012679735" ID="ID_931911457" MODIFIED="1411012700545" TEXT="例題のXACMLを用いた例題の作成"/> +<node CREATED="1411012712175" ID="ID_1690482361" MODIFIED="1411012730073" TEXT="プロトタイプの作成"/> +<node CREATED="1411013380994" ID="ID_1889496503" MODIFIED="1411013414154" TEXT="承認の理由をevidenceとして残す必要がある"/> +<node CREATED="1411013422887" ID="ID_1417892199" MODIFIED="1411013459049" TEXT="XACMLのPolicyをevidenceとする"/> +<node CREATED="1411013472685" ID="ID_300637545" MODIFIED="1411013505113" TEXT="業務規定集をJungleTreeに入れてその項目をevidenceとする"/> +</node> +<node CREATED="1411012753847" ID="ID_1102042475" MODIFIED="1411012759250" TEXT="現時点での評価"> +<node CREATED="1411012777806" ID="ID_135718459" MODIFIED="1411012796170" TEXT="Jungle上でmaTrixを実装できることがわかった"/> +<node CREATED="1411012803214" ID="ID_978365941" MODIFIED="1411012811802" TEXT="RDBに対する優位性"/> +</node> +<node CREATED="1411012762223" ID="ID_848782577" MODIFIED="1411012764218" TEXT="課題"> +<node CREATED="1411012819391" ID="ID_1018621700" MODIFIED="1411012842474" TEXT="Indexの実装"> +<node CREATED="1411013158197" ID="ID_130717179" MODIFIED="1411013177825" TEXT="Jungleの内部でon the flyにindexを作成する"/> +<node CREATED="1411013186199" ID="ID_358009521" MODIFIED="1411013210755" TEXT="create Indexの用なものは必要ない"/> +<node CREATED="1411013226855" ID="ID_1104458724" MODIFIED="1411013241538" TEXT="indexはJungleの一部ではない"/> +</node> +<node CREATED="1411012842870" ID="ID_1067709795" MODIFIED="1411012845466" TEXT="性能評価"/> +<node CREATED="1411012846350" ID="ID_276359834" MODIFIED="1411012867994" TEXT="JungleDBの設計手法"> +<node CREATED="1411013027631" ID="ID_1736556794" MODIFIED="1411013078514" TEXT="どこまで1つの木にするか"/> +<node CREATED="1411013101343" ID="ID_34477685" MODIFIED="1411013124840" TEXT="名前で木を分割するとupdateの競合が減る"/> +</node> +<node CREATED="1411012875431" ID="ID_1804463542" MODIFIED="1411012882202" TEXT="過去の履歴の検索"> +<node CREATED="1411012978143" ID="ID_1104758188" MODIFIED="1411013013666" TEXT="versionを特定したgetTreeByName"/> +<node CREATED="1411013264590" ID="ID_1229534696" MODIFIED="1411013321562" TEXT="予測可能な履歴の検索についてはあらかじめIndexを作る"/> +<node CREATED="1411013342862" ID="ID_1582989934" MODIFIED="1411013362577" TEXT="過去の履歴に対するindexはJungleTreeで作成する"/> +</node> +</node> +<node CREATED="1411013575999" ID="ID_1487585972" MODIFIED="1411013591961" TEXT="全体のストーリー"> +<node CREATED="1411013596703" ID="ID_1522480058" MODIFIED="1411013607905" TEXT="今回の結果"> +<node CREATED="1411013649633" ID="ID_1185631762" MODIFIED="1411013663354" TEXT="Jungle上にmaTrixが構築できそう"/> +</node> +<node CREATED="1411013757710" ID="ID_18661524" MODIFIED="1411013799681" TEXT="簡単なJungleの復習"> +<node CREATED="1411013808215" ID="ID_1573678199" MODIFIED="1411013819914" TEXT="Jungleが何だったか?"/> +<node CREATED="1411013820271" ID="ID_1003946204" MODIFIED="1411013826729" TEXT="非破壊で木構造"/> +<node CREATED="1411014639991" ID="ID_795570117" MODIFIED="1411014654538" TEXT="API(Query以外"/> +</node> +<node CREATED="1411013867031" ID="ID_1049017854" MODIFIED="1411013895426" TEXT="jungle上でのmaTrixの構成"/> +<node CREATED="1411013926472" ID="ID_1068650612" MODIFIED="1411013937752" TEXT="maTrixのworkflow"> +<node CREATED="1411013950556" ID="ID_1737126247" MODIFIED="1411013962650" TEXT="木構造に対するQuery"/> +</node> +<node CREATED="1411013978245" ID="ID_887101206" MODIFIED="1411014029530" TEXT="JungleのQueryの説明"/> +<node CREATED="1411014045375" ID="ID_439557141" MODIFIED="1411014064666" TEXT="JungleにおけるmaTrixのデモンストレーション"/> +<node CREATED="1411014119783" ID="ID_128617046" MODIFIED="1411014131298" TEXT="RDBと比べた場合の優位性"> +<node CREATED="1411014135006" ID="ID_127795770" MODIFIED="1411014174834" TEXT="RDBに組織の構造を構成するのは難しい"/> +<node CREATED="1411014195823" ID="ID_59087337" MODIFIED="1411014208882" TEXT="時間を中心に構成すると検索が複雑になる"/> +<node CREATED="1411014215143" ID="ID_1139224234" MODIFIED="1411014224338" TEXT="Jungleでは書き込みと検索は競合しない"/> +<node CREATED="1411014237039" ID="ID_419483256" MODIFIED="1411014253170" TEXT="RDBのようなテーブルロックは起きない"/> +<node CREATED="1411014286542" ID="ID_50210426" MODIFIED="1411014296306" TEXT="on memoryだから優位という訳ではない"/> +</node> +<node CREATED="1411014306039" ID="ID_1923969907" MODIFIED="1411014329194" TEXT="mongoDBに比べた場合の優位性"> +<node CREATED="1411014337567" ID="ID_391927576" MODIFIED="1411014347602" TEXT="mongoDBにも履歴はない"/> +<node CREATED="1411014365111" ID="ID_17360184" MODIFIED="1411014372274" TEXT="名前付きの木がない"/> +<node CREATED="1411014379263" ID="ID_707150710" MODIFIED="1411014391250" TEXT="transactionの扱い"/> +</node> +<node CREATED="1411014420327" ID="ID_1830265664" MODIFIED="1411014430138" TEXT="12月に向けての課題"> +<node CREATED="1411014434735" ID="ID_1576463639" MODIFIED="1411014452186" TEXT="indexの設計と実装"> +<node CREATED="1411014529958" ID="ID_703617744" MODIFIED="1411014534938" TEXT="10月"/> +</node> +<node CREATED="1411014454239" ID="ID_1355667962" MODIFIED="1411014456913" TEXT="性能評価"> +<node CREATED="1411014538671" ID="ID_1028819714" MODIFIED="1411014566345" TEXT="11月-12月"/> +</node> +<node CREATED="1411014463223" ID="ID_860646024" MODIFIED="1411014510706" TEXT="JungleDBの設計手法の確立"> +<node CREATED="1411014596503" ID="ID_1590313143" MODIFIED="1411014604994" TEXT="10月-12月"/> +</node> +<node CREATED="1411014511399" ID="ID_252710553" MODIFIED="1411014518178" TEXT="過去の履歴の取り扱い"> +<node CREATED="1411014577109" ID="ID_1867816274" MODIFIED="1411014584746" TEXT="12月以降"/> +</node> +</node> +</node> +</node> +</node> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/XACML.mm Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,43 @@ +<map version="1.0.1"> +<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> +<node CREATED="1409731863117" ID="ID_140617884" MODIFIED="1409731882853" TEXT="XACML"> +<node CREATED="1409731885402" ID="ID_791948050" MODIFIED="1409732124100" POSITION="right" TEXT="誰がどのリソースにどんなアクションを取るかを管理するもの"> +<node CREATED="1409732124101" ID="ID_1163560261" MODIFIED="1409732142087" TEXT="それに関係ない全体のルール→Condition"/> +<node CREATED="1409732163267" HGAP="25" ID="ID_732627068" MODIFIED="1409732310218" TEXT="全体のルール→Rule" VSHIFT="29"> +<node CREATED="1409731984667" ID="ID_178584665" MODIFIED="1409732029903" TEXT="誰が→Target"/> +<node CREATED="1409732065891" ID="ID_1725114395" MODIFIED="1409732086189" TEXT="どの→Resource"/> +<node CREATED="1409732091810" ID="ID_1333781502" MODIFIED="1409732108205" TEXT="どのような行動→Action"/> +<node CREATED="1409732271539" ID="ID_694350459" MODIFIED="1409732290189" TEXT="複数のRuleをまとめたもの→Policy"> +<node CREATED="1409732926724" ID="ID_1962523349" MODIFIED="1409732978671" TEXT="ポリシーはポリシー識別子で参照する"/> +</node> +<node CREATED="1409732311338" ID="ID_1984990717" MODIFIED="1409732341830" TEXT="複数ルールがある場合特定のアルゴリズムに乗っ取って統合する"> +<node CREATED="1409732354595" HGAP="19" ID="ID_1685519805" MODIFIED="1409732599784" TEXT="どれか1つでもDenyを出したらDenyにするDeny-overrides" VSHIFT="-19"/> +<node CREATED="1409732385067" HGAP="26" ID="ID_1098618443" MODIFIED="1409732602639" TEXT="どれか1つでもPermitがあればPermitにするPermit-overrides" VSHIFT="8"/> +<node CREATED="1409732449668" HGAP="32" ID="ID_138146825" MODIFIED="1409732604863" TEXT="ポリシー内のすべてのルールについて順番に評価して対象がマッチした場合処理を中断し次にconditionを評価するFirst-applicable" VSHIFT="29"/> +</node> +</node> +<node CREATED="1409732719180" ID="ID_331065212" MODIFIED="1409732722847" TEXT="問題点"> +<node CREATED="1409732723564" ID="ID_510301850" MODIFIED="1409732746455" TEXT="承認か不承認かぐらいしか出来ない"> +<node CREATED="1409733143596" ID="ID_1046118655" MODIFIED="1409733163935" TEXT="〜課長に問い合わせ等の返答が出来ない"/> +</node> +</node> +<node CREATED="1409732851356" ID="ID_579396423" MODIFIED="1409732856527" TEXT="セキュリティー"> +<node CREATED="1409732857036" ID="ID_1615204542" MODIFIED="1409732888623" TEXT="アクセスはTLSかVPNで"> +<node CREATED="1409732889140" ID="ID_563214936" MODIFIED="1409732903294" TEXT="並列信頼研ではここに関しては何もしない"/> +</node> +</node> +</node> +<node CREATED="1409731961971" ID="ID_467825694" MODIFIED="1409731980190" POSITION="left" TEXT="コンパイラを書くのは大変なのでとりあえずは自分でコンパイル後のコードを使う"> +<node CREATED="1409732638820" ID="ID_339904056" MODIFIED="1409732663735" TEXT="XACMLを見ながら手でJavaを書く"/> +<node CREATED="1409732667236" ID="ID_981072967" MODIFIED="1409732694959" TEXT="製品化する際はがんばってコンパイラを書く"/> +<node CREATED="1409732785548" ID="ID_386637317" MODIFIED="1409732791518" TEXT="インタプリタは遅くなるからだめ"/> +</node> +<node CREATED="1409733014548" HGAP="5" ID="ID_1050648292" MODIFIED="1409733027233" POSITION="right" TEXT="Jungleとの対応" VSHIFT="64"> +<node CREATED="1409733028876" ID="ID_1608071345" MODIFIED="1409733111442" TEXT="Jungleは大きなデータを持たない"> +<node CREATED="1409733042236" ID="ID_1251734070" MODIFIED="1409733050822" TEXT="今の段階ではStringのみ"/> +<node CREATED="1409733053637" ID="ID_339756775" MODIFIED="1409733068838" TEXT="大きなデータはURLで参照させる"/> +<node CREATED="1409733112652" ID="ID_1078433625" MODIFIED="1409733112652" TEXT=""/> +</node> +</node> +</node> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/basic_api_architecture.graffle Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,1131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-12-07 10:37:40 +0000</string> + <key>Creator</key> + <string>shoshi</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{279.5, 250.5}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>104</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{255.5, 370}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>102</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{441, 491.25}, {71, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>103</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<extends>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{23.5, 10}, {57, 32}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>55</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'8a\'ee\'96\'7b +\f1 API\ +Read Only}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + <key>ID</key> + <integer>52</integer> + <key>Points</key> + <array> + <string>{268.99999385152552, 228.5}</string> + <string>{268.99999385152552, 286.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>51</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{181, 174}, {176, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>50</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Tree}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{181, 210}, {176, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>51</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ Node getRoot()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>50</integer> + <integer>51</integer> + <array/> + </array> + <key>ID</key> + <integer>49</integer> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>35</integer> + </dict> + <key>ID</key> + <integer>47</integer> + <key>Points</key> + <array> + <string>{396.4405562316386, 410.26124406682794}</string> + <string>{302.55881283802307, 359.23875942269564}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>40</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>35</integer> + </dict> + <key>ID</key> + <integer>46</integer> + <key>Points</key> + <array> + <string>{146.71805539866665, 410.25360103626548}</string> + <string>{236.78255255712509, 359.24640251709661}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>37</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>42</integer> + </dict> + <key>ID</key> + <integer>54</integer> + <key>Points</key> + <array> + <string>{430.03104574657306, 464.99999733370157}</string> + <string>{430.25, 531.99999100000002}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>53</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{460.25, 538}, {83, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>43</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<interface>>\ +Iterable<Node>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{412, 532}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>42</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{337.5, 410.5}, {185, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>40</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Children}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{337.5, 446.5}, {185, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>53</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ Iterator<Node> iterator()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>40</integer> + <integer>53</integer> + <array/> + </array> + <key>ID</key> + <integer>39</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{22, 410.5}, {185, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>37</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Attributes}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{22, 446.5}, {185, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>38</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ ByteBuffer get(String key)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>37</integer> + <integer>38</integer> + <array/> + </array> + <key>ID</key> + <integer>36</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{181, 287}, {176, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>34</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Node}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{181, 323}, {176, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>35</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ Attributes getAttribute()\ ++ Children getChildren()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>34</integer> + <integer>35</integer> + <array/> + </array> + <key>ID</key> + <integer>33</integer> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-12-10 11:32:24 +0000</string> + <key>Modifier</key> + <string>shoshi</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{-1477, 368}, {892, 1006}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{-99, -42}, {757, 867}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/basic_api_architecture.svg Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="11 1 542 578" width="542pt" height="578pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2012-12-10 11:32Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 3 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="63.000004" slope="0" x-height="545" cap-height="766" ascent="880.00183" descent="-120.000244" font-weight="400"><font-face-src><font-face-name name="HiraKakuProN-W3"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 6 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="117" slope="0" x-height="562" cap-height="784" ascent="880.00183" descent="-120.000244" font-weight="bold"><font-face-src><font-face-name name="HiraKakuProN-W6"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="black"><g><path d="M 8.1142883 0 L 0 -3.0428581 L 0 3.0428581 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="black"><g><path d="M 8.1142883 0 L 0 -3.0428581 L 0 3.0428581 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>キャンバス 1</title><rect fill="white" width="559" height="783"/><g><title>レイヤー 1</title><rect x="181" y="323" width="176" height="36" fill="white"/><rect x="181" y="323" width="176" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(186 323)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="157.008">+ Attributes getAttribute()</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="142.86">+ Children getChildren()</tspan></text><rect x="181" y="287" width="176" height="36" fill="white"/><rect x="181" y="287" width="176" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(186 287)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="43.712" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="65.99" y="29" textLength="34.02">Node</tspan></text><rect x="22" y="446.5" width="185" height="18" fill="white"/><rect x="22" y="446.5" width="185" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(27 446.5)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="63.624">+ ByteBuff</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="63.624" y="11" textLength="104.664">er get(String key)</tspan></text><rect x="22" y="410.5" width="185" height="36" fill="white"/><rect x="22" y="410.5" width="185" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(27 410.5)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="48.212" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="54.608" y="29" textLength="65.783997">Attributes</tspan></text><rect x="337.5" y="446.5" width="185" height="18" fill="white"/><rect x="337.5" y="446.5" width="185" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(342.5 446.5)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="156.504">+ Iterator<Node> iterator()</tspan></text><rect x="337.5" y="410.5" width="185" height="36" fill="white"/><rect x="337.5" y="410.5" width="185" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(342.5 410.5)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="48.212" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="60.398" y="29" textLength="54.204">Children</tspan></text><ellipse cx="430.25" cy="550" rx="18.250029" ry="18.000029" fill="white"/><ellipse cx="430.25" cy="550" rx="18.250029" ry="18.000029" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(460.25 538)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="4.4716797" y="11" textLength="74.05664"><<interface>></tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".13574219" y="25" textLength="82.728516">Iterable<Node></tspan></text><line x1="430.03105" y1="465" x2="430.21727" y2="521.98576" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="155.33235" y1="405.37489" x2="236.7821" y2="359.2464" marker-start="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><line x1="387.7423" y1="405.53386" x2="302.55928" y2="359.23876" marker-start="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><rect x="181" y="210" width="176" height="18" fill="white"/><rect x="181" y="210" width="176" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(186 210)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="103.872">+ Node getRoot()</tspan></text><rect x="181" y="174" width="176" height="36" fill="white"/><rect x="181" y="174" width="176" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(186 174)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="43.712" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="68.69" y="29" textLength="8.5080004">T</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="76.118" y="29" textLength="21.192">ree</tspan></text><line x1="269" y1="228.5" x2="269" y2="276.48571" marker-end="url(#Arrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><text transform="translate(23.5 10)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="5.4902344" y="11" textLength="24">基本</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="29.490234" y="11" textLength="3.3339844"> </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="32.167969" y="11" textLength="19.341797">API</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".15234375" y="29" textLength="56.695312">Read Only</tspan></text><text transform="translate(441 491.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".46972656" y="11" textLength="70.060547"><<extends>></tspan></text><text transform="translate(255.5 370)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text><text transform="translate(279.5 250.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text></g></g></svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/jungle_artitecture.graffle Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,644 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-12-10 15:06:13 +0000</string> + <key>Creator</key> + <string>shoshi</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1.0000 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{290, 243.5}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>49</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>41</integer> + </dict> + <key>ID</key> + <integer>48</integer> + <key>Points</key> + <array> + <string>{275.5, 429.99999100000002}</string> + <string>{275.5, 355.49999999086265}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>44</integer> + <key>Info</key> + <integer>2</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{239, 483}, {73, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>43</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +TraversableTree}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{257.25, 430}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>44</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>40</integer> + </dict> + <key>ID</key> + <integer>42</integer> + <key>Points</key> + <array> + <string>{275.50001356530873, 218.5}</string> + <string>{275.50003223584122, 282.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>35</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{148, 283}, {255, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>40</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 JungleTree}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{148, 301}, {255, 54}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>41</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ MergeResult push(JungleDB remote)\ ++ MergeResult pull(JungleDB remote) +\f1 \kerning1\expnd0\expndtw0 \ + +\f0 \expnd0\expndtw0\kerning0 ++ TreeEditor getEditor()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>40</integer> + <integer>41</integer> + <array/> + </array> + <key>ID</key> + <integer>39</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{91.75, 103}, {367.5, 23}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>14</real> + </dict> + <key>ID</key> + <integer>34</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs30 \cf0 JungleDB}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{91.75, 126}, {367.5, 92}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>14</real> + </dict> + <key>ID</key> + <integer>35</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs30 \cf0 \expnd0\expndtw0\kerning0 ++ Iterable<JungleTree> getTrees()\ ++ JungleTree getTreeByName(String name)\ ++ JungleTree createNewTree(String name)\ ++ void deleteTree(String name)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>34</integer> + <integer>35</integer> + <array/> + </array> + <key>ID</key> + <integer>33</integer> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-12-11 08:21:25 +0000</string> + <key>Modifier</key> + <string>shoshi</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{-1683, 185}, {693, 922}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558, 783}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/jungle_artitecture.svg Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="80 92 391 424" width="391pt" height="424pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2012-12-11 08:21Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><font-face font-family="Hiragino Kaku Gothic ProN" font-size="15" panose-1="2 11 3 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-59.999996" underline-thickness="62.999996" slope="0" x-height="545" cap-height="766" ascent="880.00177" descent="-120.00024" font-weight="400"><font-face-src><font-face-name name="HiraKakuProN-W3"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="15" panose-1="2 11 6 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-59.999996" underline-thickness="116.99999" slope="0" x-height="562" cap-height="784" ascent="880.00177" descent="-120.00024" font-weight="bold"><font-face-src><font-face-name name="HiraKakuProN-W6"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 3 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="63.000004" slope="0" x-height="545" cap-height="766" ascent="880.00183" descent="-120.000244" font-weight="400"><font-face-src><font-face-name name="HiraKakuProN-W3"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 6 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="117" slope="0" x-height="562" cap-height="784" ascent="880.00183" descent="-120.000244" font-weight="bold"><font-face-src><font-face-name name="HiraKakuProN-W6"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="black"><g><path d="M 8.1142883 0 L 0 -3.0428581 L 0 3.0428581 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>キャンバス 1</title><rect fill="white" width="559" height="783"/><g><title>レイヤー 1</title><rect x="91.75" y="126" width="367.5" height="92" fill="white"/><rect x="91.75" y="126" width="367.5" height="92" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(96.75 126)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="15" font-weight="400" x="0" y="13" textLength="249.465">+ Iterable<JungleTree> getTrees()</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="15" font-weight="400" x="0" y="36" textLength="323.055">+ JungleTree getTreeByName(String name)</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="15" font-weight="400" x="0" y="59" textLength="315.975">+ JungleTree createNewTree(String name)</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="15" font-weight="400" x="0" y="82" textLength="231.135">+ void deleteTree(String name)</tspan></text><rect x="91.75" y="103" width="367.5" height="23" fill="white"/><rect x="91.75" y="103" width="367.5" height="23" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(96.75 103)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="15" font-weight="bold" x="140.5225" y="13" textLength="76.455">JungleDB</tspan></text><rect x="148" y="301" width="255" height="54" fill="white"/><rect x="148" y="301" width="255" height="54" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(153 301)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="231.6">+ MergeResult push(JungleDB remote)</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="223.32001">+ MergeResult pull(JungleDB remote)</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="47" textLength="142.296005">+ TreeEditor getEditor()</tspan></text><rect x="148" y="283" width="255" height="18" fill="white"/><rect x="148" y="283" width="255" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(153 283)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="86.968" y="11" textLength="50.952">JungleT</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="136.84" y="11" textLength="21.192">ree</tspan></text><line x1="275.50001" y1="218.5" x2="275.50001" y2="272.48571" marker-end="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><ellipse cx="275.5" cy="448" rx="18.250029" ry="18.000029" fill="white"/><ellipse cx="275.5" cy="448" rx="18.250029" ry="18.000029" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(239 483)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="5.6430664" y="10" textLength="61.713867"><<interface>></tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x=".18652344" y="22" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x="5.928711" y="22" textLength="52.79785">raversableT</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x="58.36035" y="22" textLength="14.453125">ree</tspan></text><line x1="275.5" y1="420.1" x2="275.5" y2="355.5" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(290 243.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text></g></g></svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/node_transform_architecture.graffle Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,1621 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-12-10 15:16:19 +0000</string> + <key>Creator</key> + <string>shoshi</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>101</integer> + </dict> + <key>ID</key> + <integer>128</integer> + <key>Points</key> + <array> + <string>{80.750009124999949, 468}</string> + <string>{151.50000632809025, 467.6440251549617}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>126</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{31.5, 418}, {62, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>127</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +Node}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{44.25, 450}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>126</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{252.5, 513}, {54, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>125</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<uses>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{215, 346}, {54, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>124</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<uses>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{386.25, 277}, {54, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>123</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<uses>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{289, 166}, {54, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>122</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<uses>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>118</integer> + </dict> + <key>ID</key> + <integer>120</integer> + <key>Points</key> + <array> + <string>{319.5296010388048, 272.20701208539185}</string> + <string>{394.47039896119531, 306.29298791460815}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>98</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{338, 306.5}, {193, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>118</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<enum>>\ +TransformResult}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{338, 342.5}, {193, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>119</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ TransformResult SUCCESS\ ++ TransformResult FAIL}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>118</integer> + <integer>119</integer> + <array/> + </array> + <key>ID</key> + <integer>117</integer> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>108</integer> + </dict> + <key>ID</key> + <integer>116</integer> + <key>Points</key> + <array> + <string>{413.25, 705.99999100000002}</string> + <string>{413.44803370822137, 635.49999800241471}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>113</integer> + <key>Info</key> + <integer>2</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>105</integer> + </dict> + <key>ID</key> + <integer>115</integer> + <key>Points</key> + <array> + <string>{139.25, 711.99999100000002}</string> + <string>{139.45131578944796, 635.49999825715258}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>42</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{446.75, 712}, {62, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>114</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +Children}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{395, 706}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>113</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{172.75, 718}, {62, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>43</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +Attributes}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{121, 712}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>42</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>100</integer> + </dict> + <key>ID</key> + <integer>112</integer> + <key>Points</key> + <array> + <string>{279.50001186443728, 272.5}</string> + <string>{279.50001186443728, 412.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>98</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>97</integer> + </dict> + <key>ID</key> + <integer>111</integer> + <key>Points</key> + <array> + <string>{279.50000826457716, 143.5}</string> + <string>{279.50000826457716, 199.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>35</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>107</integer> + </dict> + <key>ID</key> + <integer>110</integer> + <key>Points</key> + <array> + <string>{301.03872412585957, 485.32398918170145}</string> + <string>{391.96127587414048, 562.67601081829866}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>101</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>104</integer> + </dict> + <key>ID</key> + <integer>109</integer> + <key>Points</key> + <array> + <string>{257.00701890738134, 485.31571317541813}</string> + <string>{161.99298109261875, 562.68428682458193}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>101</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{284, 563}, {259, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>107</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +EditableChildren}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{284, 599}, {259, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>108</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ EditableNode newChildAt(int pos)\ ++ EditableNode deleteChildAt(int pos)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>107</integer> + <integer>108</integer> + <array/> + </array> + <key>ID</key> + <integer>106</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{10, 563}, {259, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>104</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +EditableAttributes}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{10, 599}, {259, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>105</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ EditableNode put(String k,ByteBuffer v)\ ++ EditableNode delete(String k)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>104</integer> + <integer>105</integer> + <array/> + </array> + <key>ID</key> + <integer>103</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{61, 513}, {72, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>102</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 \'8f\'7a\'8a\'c2\'8e\'51\'8f\'c6\'82\'a0\'82\'e8}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{152, 413}, {255, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>100</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +EditableNode}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{152, 449}, {255, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>101</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ EditableAttributes getAttributes()\ ++ EditableChildren getChildren()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>100</integer> + <integer>101</integer> + <array/> + </array> + <key>ID</key> + <integer>99</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{171, 200}, {217, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>97</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Transformation}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{171, 236}, {217, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>98</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ EditableNode getEditableNode()\ ++ TransformResult getResult()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>97</integer> + <integer>98</integer> + <array/> + </array> + <key>ID</key> + <integer>96</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{121, 89}, {317, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>34</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<interface>>\ +NodeTransformer}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{121, 125}, {317, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>35</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ Transformation transform(EditableNode target)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>34</integer> + <integer>35</integer> + <array/> + </array> + <key>ID</key> + <integer>33</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{10, 11}, {105, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>95</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 NodeTransform API}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-12-10 15:30:23 +0000</string> + <key>Modifier</key> + <string>shoshi</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{-1702, 314}, {693, 922}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{0, 0}, {558, 783}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/node_transform_architecture.svg Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-10 2 573 757" width="573pt" height="757pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2012-12-10 15:30Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 3 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="63.000004" slope="0" x-height="545" cap-height="766" ascent="880.00183" descent="-120.000244" font-weight="400"><font-face-src><font-face-name name="HiraKakuProN-W3"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 6 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="117" slope="0" x-height="562" cap-height="784" ascent="880.00183" descent="-120.000244" font-weight="bold"><font-face-src><font-face-name name="HiraKakuProN-W6"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="black"><g><path d="M 8.1142883 0 L 0 -3.0428581 L 0 3.0428581 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker_2" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>キャンバス 1</title><rect fill="white" width="559" height="783"/><g><title>レイヤー 1</title><text transform="translate(10 11)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".029296875" y="11" textLength="36.017578">NodeT</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="35.607422" y="11" textLength="50.677734">ransform </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="85.628906" y="11" textLength="19.341797">API</tspan></text><rect x="121" y="125" width="317" height="18" fill="white"/><rect x="121" y="125" width="317" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(126 125)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="295.116">+ Transformation transform(EditableNode target)</tspan></text><rect x="121" y="89" width="317" height="36" fill="white"/><rect x="121" y="89" width="317" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(126 89)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="111.26" y="11" textLength="84.480003"><<interface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="95.756" y="29" textLength="42.528">NodeT</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="137.204" y="29" textLength="74.04">ransformer</tspan></text><rect x="171" y="236" width="217" height="36" fill="white"/><rect x="171" y="236" width="217" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(176 236)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="202.092">+ EditableNode getEditableNode()</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="180.636">+ TransformResult getResult()</tspan></text><rect x="171" y="200" width="217" height="36" fill="white"/><rect x="171" y="200" width="217" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(176 200)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="64.212" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="53.448" y="29" textLength="8.5080004">T</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="60.876" y="29" textLength="92.676">ransformation</tspan></text><rect x="152" y="449" width="255" height="36" fill="white"/><rect x="152" y="449" width="255" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(157 449)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="210.972">+ EditableAttributes getAttributes()</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="190.38">+ EditableChildren getChildren()</tspan></text><rect x="152" y="413" width="255" height="36" fill="white"/><rect x="152" y="413" width="255" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(157 413)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="83.212" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="79.42" y="29" textLength="86.160004">EditableNode</tspan></text><text transform="translate(61 513)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="72">循環参照あり</tspan></text><rect x="10" y="599" width="259" height="36" fill="white"/><rect x="10" y="599" width="259" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(15 599)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="220.524">+ EditableNode put(String k,ByteBuff</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="220.524" y="11" textLength="27.011999">er v)</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="186.68401">+ EditableNode delete(String k)</tspan></text><rect x="10" y="563" width="259" height="36" fill="white"/><rect x="10" y="563" width="259" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(15 563)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="85.212" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="65.538" y="29" textLength="117.924004">EditableAttributes</tspan></text><rect x="284" y="599" width="259" height="36" fill="white"/><rect x="284" y="599" width="259" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(289 599)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="211.48801">+ EditableNode newChildAt(int pos)</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="224.184">+ EditableNode deleteChildAt(int pos)</tspan></text><rect x="284" y="563" width="259" height="36" fill="white"/><rect x="284" y="563" width="259" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(289 563)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="85.212" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="71.328" y="29" textLength="106.344">EditableChildren</tspan></text><line x1="249.3302" y1="491.56683" x2="169.75842" y2="556.361" marker-end="url(#Arrow_Marker)" marker-start="url(#Arrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><line x1="308.57915" y1="491.73897" x2="384.3338" y2="556.18697" marker-end="url(#Arrow_Marker)" marker-start="url(#Arrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><line x1="279.5" y1="143.5" x2="279.5" y2="189.48571" marker-end="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><line x1="279.50001" y1="272.5" x2="279.50001" y2="402.4857" marker-end="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><ellipse cx="139.25" cy="730" rx="18.250029" ry="18.000029" fill="white"/><ellipse cx="139.25" cy="730" rx="18.250029" ry="18.000029" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(172.75 718)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x=".14306641" y="10" textLength="61.713867"><<interface>></tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x="9.8793945" y="22" textLength="42.24121">Attributes</tspan></text><ellipse cx="413.25" cy="724" rx="18.250029" ry="18.000029" fill="white"/><ellipse cx="413.25" cy="724" rx="18.250029" ry="18.000029" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(446.75 712)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x=".14306641" y="10" textLength="61.713867"><<interface>></tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x="12.3793945" y="22" textLength="37.24121">Children</tspan></text><line x1="139.27605" y1="702.10003" x2="139.451316" y2="635.5" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="413.2778" y1="696.10003" x2="413.44803" y2="635.5" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="338" y="342.5" width="193" height="36" fill="white"/><rect x="338" y="342.5" width="193" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(343 342.5)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="174.744">+ TransformResult SUCCESS</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="29" textLength="141.96001">+ TransformResult FAIL</tspan></text><rect x="338" y="306.5" width="193" height="36" fill="white"/><rect x="338" y="306.5" width="193" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(343 306.5)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="60.582" y="11" textLength="61.836"><<enum>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="37.254" y="29" textLength="8.5080004">T</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="44.682" y="29" textLength="101.064">ransformResult</tspan></text><line x1="319.5296" y1="272.20701" x2="385.35474" y2="302.14683" marker-end="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><text transform="translate(289 166)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="53.378906"><<uses>></tspan></text><text transform="translate(386.25 277)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="53.378906"><<uses>></tspan></text><text transform="translate(215 346)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="53.378906"><<uses>></tspan></text><text transform="translate(252.5 513)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="53.378906"><<uses>></tspan></text><ellipse cx="62.5" cy="468" rx="18.250029" ry="18.000029" fill="white"/><ellipse cx="62.5" cy="468" rx="18.250029" ry="18.000029" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(31.5 418)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x=".14306641" y="10" textLength="61.713867"><<interface>></tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x="19.046875" y="22" textLength="23.90625">Node</tspan></text><line x1="90.649883" y1="467.9502" x2="151.50001" y2="467.64403" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></g></svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/traverser_api_architecture.graffle Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,1999 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-12-10 11:11:43 +0000</string> + <key>Creator</key> + <string>shoshi</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1 0/72 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{284.75, 136.25000000000006}, {71, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>104</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<extends>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{382.75, 639}, {71, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>103</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<extends>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{284.75, 560.125}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>102</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{284.75, 442.25}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>101</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>67</integer> + </dict> + <key>ID</key> + <integer>100</integer> + <key>Points</key> + <array> + <string>{273.01271064717207, 530.68742818315377}</string> + <string>{273.98728935282793, 588.18757181684623}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>65</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>64</integer> + </dict> + <key>ID</key> + <integer>99</integer> + <key>Points</key> + <array> + <string>{272.75001471756116, 427.59375}</string> + <string>{272.75001471756116, 469.6875}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>62</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{210.75, 230.5}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>98</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{280.25, 358.09375}, {48, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>97</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 <<use>>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>61</integer> + </dict> + <key>ID</key> + <integer>96</integer> + <key>Points</key> + <array> + <string>{274.0376134121887, 339.4998750839743}</string> + <string>{273.09652724919926, 381.5938749160257}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>59</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{9, 16}, {73, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>95</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Traverser API}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>42</integer> + </dict> + <key>ID</key> + <integer>94</integer> + <key>Points</key> + <array> + <string>{274.41847796176307, 164.50002953953299}</string> + <string>{275, 111.00000899999995}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>89</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{305, 81}, {69, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>43</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +Iterable<Node>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{256.75, 75}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>42</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>58</integer> + </dict> + <key>ID</key> + <integer>91</integer> + <key>Points</key> + <array> + <string>{274.25000858890604, 225.5}</string> + <string>{274.25000858890604, 284.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>90</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{126.25, 165}, {296, 30}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>89</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 <<inteface>>\ +TraverseResult}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{126.25, 195}, {296, 30}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>90</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ Iterator<Node> itrerator()\ ++ Node target()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>89</integer> + <integer>90</integer> + <array/> + </array> + <key>ID</key> + <integer>88</integer> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>70</integer> + </dict> + <key>ID</key> + <integer>84</integer> + <key>Points</key> + <array> + <string>{302.80471084639845, 633.81655985169823}</string> + <string>{467.69528915360155, 677.87094014830177}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>68</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>73</integer> + </dict> + <key>ID</key> + <integer>83</integer> + <key>Points</key> + <array> + <string>{284.65534452587542, 633.98739885865393}</string> + <string>{342.96965547412458, 677.70010114134607}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>68</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>76</integer> + </dict> + <key>ID</key> + <integer>82</integer> + <key>Points</key> + <array> + <string>{265.8228188208621, 634.02808327353125}</string> + <string>{218.92718117913796, 677.65941672646875}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>68</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>79</integer> + </dict> + <key>ID</key> + <integer>81</integer> + <key>Points</key> + <array> + <string>{247.02463170015864, 633.822510199926}</string> + <string>{89.975368299841378, 677.864989800074}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>FilledArrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>68</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{0.75, 678}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>79</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 ACCEPT_CONTINUE}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{0.75, 693}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>80</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ ???}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>79</integer> + <integer>80</integer> + <array/> + </array> + <key>ID</key> + <integer>78</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{148.5, 678}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>76</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 ACCEPT_BREAK}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{148.5, 693}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>77</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ ???}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>76</integer> + <integer>77</integer> + <array/> + </array> + <key>ID</key> + <integer>75</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{291.375, 678}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>73</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 DENY_CONTINUE}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{291.375, 693}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>74</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ ???}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>73</integer> + <integer>74</integer> + <array/> + </array> + <key>ID</key> + <integer>72</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{434.25, 678}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>70</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 DENY_BREAK}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{434.25, 693}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>71</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ ???}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>70</integer> + <integer>71</integer> + <array/> + </array> + <key>ID</key> + <integer>69</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{212.25, 588.6875}, {124, 30}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>67</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 <<enum>>\ +EvaluationResult}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{212.25, 618.6875}, {124, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>68</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ ???}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>67</integer> + <integer>68</integer> + <array/> + </array> + <key>ID</key> + <integer>66</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{182.75, 470.1875}, {180, 30}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>64</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 <<inteface>>\ +Evaluation}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{182.75, 500.1875}, {180, 30}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>65</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ EvaluationResult result()\ ++ TraverseEvaluator evaluator()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>64</integer> + <integer>65</integer> + <array/> + </array> + <key>ID</key> + <integer>63</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{124.75, 382.09375}, {296, 30}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>61</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 <<inteface>>\ +TraverseEvaluator}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{124.75, 412.09375}, {296, 15}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>62</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs20 \cf0 \expnd0\expndtw0\kerning0 ++ Evaluation eval(Iterable<Node> path,Node child,int pos)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>61</integer> + <integer>62</integer> + <array/> + </array> + <key>ID</key> + <integer>60</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{84.5, 285}, {379.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>58</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Traversable}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{84.5, 321}, {379.5, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>13</real> + </dict> + <key>ID</key> + <integer>59</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ Iterable<TraverseResult> traverse(TraverseEvaluator e)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>58</integer> + <integer>59</integer> + <array/> + </array> + <key>ID</key> + <integer>57</integer> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>ImageCounter</key> + <integer>1</integer> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>レイヤー 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2012-12-10 13:35:08 +0000</string> + <key>Modifier</key> + <string>shoshi</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSHorizonalPagination</key> + <array> + <string>coded</string> + <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{595, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>キャンバス 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array/> + <key>Frame</key> + <string>{{-1302, 501}, {706, 939}}</string> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{-6, -8}, {571, 800}}</string> + <key>Zoom</key> + <real>1</real> + <key>ZoomValues</key> + <array> + <array> + <string>キャンバス 1</string> + <real>1</real> + <real>1</real> + </array> + </array> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/traverser_api_architecture.svg Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="-11 7 581 712" width="581pt" height="712pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2012-12-10 13:35Z</dc:date><!-- Produced by OmniGraffle Professional 5.4.4 --></metadata><defs><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 3 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="63.000004" slope="0" x-height="545" cap-height="766" ascent="880.00183" descent="-120.000244" font-weight="400"><font-face-src><font-face-name name="HiraKakuProN-W3"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="12" panose-1="2 11 6 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="117" slope="0" x-height="562" cap-height="784" ascent="880.00183" descent="-120.000244" font-weight="bold"><font-face-src><font-face-name name="HiraKakuProN-W6"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="10" panose-1="2 11 3 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="63" slope="0" x-height="545" cap-height="766" ascent="880.00177" descent="-120.000244" font-weight="400"><font-face-src><font-face-name name="HiraKakuProN-W3"/></font-face-src></font-face><font-face font-family="Hiragino Kaku Gothic ProN" font-size="10" panose-1="2 11 6 0 0 0 0 0 0 0" units-per-em="1000" underline-position="-60" underline-thickness="117" slope="0" x-height="562" cap-height="784" ascent="880.00177" descent="-120.000244" font-weight="bold"><font-face-src><font-face-name name="HiraKakuProN-W6"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="black"><g><path d="M 8.1142883 0 L 0 -3.0428581 L 0 3.0428581 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Arrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="black"><g><path d="M 8.1142883 0 L 0 -3.0428581 L 0 3.0428581 Z" fill="none" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>キャンバス 1</title><rect fill="white" width="559" height="783"/><g><title>レイヤー 1</title><rect x="84.5" y="321" width="379.5" height="18" fill="white"/><rect x="84.5" y="321" width="379.5" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(89.5 321)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="400" x="0" y="11" textLength="338.064">+ Iterable<TraverseResult> traverse(TraverseEvaluator e)</tspan></text><rect x="84.5" y="285" width="379.5" height="36" fill="white"/><rect x="84.5" y="285" width="379.5" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(89.5 285)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="145.462" y="11" textLength="78.575996"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="146.734" y="29" textLength="8.5080004">T</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="12" font-weight="bold" x="154.162" y="29" textLength="68.603996">raversable</tspan></text><rect x="124.75" y="412.09375" width="296" height="15" fill="white"/><rect x="124.75" y="412.09375" width="296" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(129.75 412.09375)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="281.01001">+ Evaluation eval(Iterable<Node> path,Node child,int pos)</tspan></text><rect x="124.75" y="382.09375" width="296" height="30" fill="white"/><rect x="124.75" y="382.09375" width="296" height="30" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(129.75 382.09375)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="110.26" y="9" textLength="65.480003"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="93.805" y="24" textLength="7.09">T</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="99.995" y="24" textLength="92.199997">raverseEvaluator</tspan></text><rect x="182.75" y="500.1875" width="180" height="30" fill="white"/><rect x="182.75" y="500.1875" width="180" height="30" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(187.75 500.1875)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="129.84">+ EvaluationResult result()</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="24" textLength="155.880005">+ TraverseEvaluator evaluator()</tspan></text><rect x="182.75" y="470.1875" width="180" height="30" fill="white"/><rect x="182.75" y="470.1875" width="180" height="30" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(187.75 470.1875)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="52.26" y="9" textLength="65.480003"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="57.17" y="24" textLength="55.66">Evaluation</tspan></text><rect x="212.25" y="618.6875" width="124" height="15" fill="white"/><rect x="212.25" y="618.6875" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(217.25 618.6875)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="27.02">+ ???</tspan></text><rect x="212.25" y="588.6875" width="124" height="30" fill="white"/><rect x="212.25" y="588.6875" width="124" height="30" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(217.25 588.6875)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="31.235" y="9" textLength="51.53"><<enum>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="12.265" y="24" textLength="89.47">EvaluationResult</tspan></text><rect x="434.25" y="693" width="124" height="15" fill="white"/><rect x="434.25" y="693" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(439.25 693)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="27.02">+ ???</tspan></text><rect x="434.25" y="678" width="124" height="15" fill="white"/><rect x="434.25" y="678" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(439.25 678)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="20.13" y="9" textLength="73.74">DENY_BREAK</tspan></text><rect x="291.375" y="693" width="124" height="15" fill="white"/><rect x="291.375" y="693" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(296.375 693)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="27.02">+ ???</tspan></text><rect x="291.375" y="678" width="124" height="15" fill="white"/><rect x="291.375" y="678" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(296.375 678)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="10.185" y="9" textLength="93.63">DENY_CONTINUE</tspan></text><rect x="148.5" y="693" width="124" height="15" fill="white"/><rect x="148.5" y="693" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(153.5 693)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="27.02">+ ???</tspan></text><rect x="148.5" y="678" width="124" height="15" fill="white"/><rect x="148.5" y="678" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(153.5 678)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="12.985" y="9" textLength="88.03">ACCEPT_BREAK</tspan></text><rect x=".75" y="693" width="124" height="15" fill="white"/><rect x=".75" y="693" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(5.75 693)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="27.02">+ ???</tspan></text><rect x=".75" y="678" width="124" height="15" fill="white"/><rect x=".75" y="678" width="124" height="15" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(5.75 678)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="3.04" y="9" textLength="107.92">ACCEPT_CONTINUE</tspan></text><line x1="237.49237" y1="636.4957" x2="89.97537" y2="677.865" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="258.57475" y1="640.77163" x2="218.92718" y2="677.6594" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="292.57685" y1="639.9254" x2="342.96966" y2="677.7001" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="312.36923" y1="636.37194" x2="467.6953" y2="677.87094" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="126.25" y="195" width="296" height="30" fill="white"/><rect x="126.25" y="195" width="296" height="30" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(131.25 195)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="9" textLength="134.72">+ Iterator<Node> itrerator()</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="400" x="0" y="24" textLength="76.85">+ Node target()</tspan></text><rect x="126.25" y="165" width="296" height="30" fill="white"/><rect x="126.25" y="165" width="296" height="30" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(131.25 165)" fill="black"><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="110.26" y="9" textLength="65.480003"><<inteface>></tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="102.47" y="24" textLength="7.09">T</tspan><tspan font-family="Hiragino Kaku Gothic ProN" font-size="10" font-weight="bold" x="108.66" y="24" textLength="74.870003">raverseResult</tspan></text><line x1="274.25001" y1="235.4" x2="274.25001" y2="284.5" marker-start="url(#Arrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><ellipse cx="275" cy="93" rx="18.250029" ry="18.000029" fill="white"/><ellipse cx="275" cy="93" rx="18.250029" ry="18.000029" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(305 81)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="3.6430664" y="10" textLength="61.713867"><<interface>></tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x=".029785156" y="22" textLength="68.94043">Iterable<Node></tspan></text><line x1="274.41848" y1="164.50003" x2="274.89116" y2="121.013705" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(9 16)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".040039062" y="11" textLength="7.330078">T</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="6.930664" y="11" textLength="47.34375">raverser </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="53.618164" y="11" textLength="19.341797">API</tspan></text><line x1="274.03761" y1="339.49988" x2="273.32036" y2="371.58209" marker-end="url(#Arrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><text transform="translate(280.25 358.09375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text><text transform="translate(210.75 230.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text><line x1="272.75001" y1="427.59375" x2="272.75001" y2="459.6732" marker-end="url(#Arrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><line x1="273.01271" y1="530.68743" x2="273.81758" y2="578.17472" marker-end="url(#Arrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><text transform="translate(284.75 442.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text><text transform="translate(284.75 560.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="11" textLength="47.378906"><<use>></tspan></text><text transform="translate(382.75 639)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".46972656" y="11" textLength="70.060547"><<extends>></tspan></text><text transform="translate(284.75 136.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".46972656" y="11" textLength="70.060547"><<extends>></tspan></text></g></g></svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/document/tree_store_api_b.graffle Wed Nov 30 01:47:55 2016 +0900 @@ -0,0 +1,1389 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGraffle</string> + <string>139.16.0.171715</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {559, 783}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>BaseZoom</key> + <integer>0</integer> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2012-12-10 11:52:27 +0000</string> + <key>Creator</key> + <string>shoshi</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1.0000 in</string> + <key>GraphDocumentVersion</key> + <integer>8</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>61</integer> + </dict> + <key>ID</key> + <integer>72</integer> + <key>Points</key> + <array> + <string>{329.20990925272872, 492.33892342450167}</string> + <string>{371.85932151650201, 531.66107657549833}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>58</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>58</integer> + </dict> + <key>ID</key> + <integer>71</integer> + <key>Points</key> + <array> + <string>{150.88502781235991, 531.62735921205035}</string> + <string>{186.00340193970618, 492.37264078794965}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>34</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>57</integer> + </dict> + <key>ID</key> + <integer>70</integer> + <key>Points</key> + <array> + <string>{214.7861962173489, 170.20408980090042}</string> + <string>{27.375, 254}</string> + <string>{197.37204229916, 311.83894891879646}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>Arrow</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>35</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>57</integer> + </dict> + <key>ID</key> + <integer>69</integer> + <key>Points</key> + <array> + <string>{250.7499948051904, 278.5}</string> + <string>{250.7499948051904, 311.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>Arrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>Pattern</key> + <integer>1</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>55</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{43.875, 656}, {82, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>68</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +TraverseEvaluator}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{164.125, 656}, {77, 24}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>67</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs20 \cf0 <<interface>>\ +Iterable<Integer>}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>59</integer> + </dict> + <key>ID</key> + <integer>66</integer> + <key>Points</key> + <array> + <string>{201.875, 613.99999100000002}</string> + <string>{166.1289581205294, 586.30622081488389}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>64</integer> + <key>Info</key> + <integer>2</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>59</integer> + </dict> + <key>ID</key> + <integer>65</integer> + <key>Points</key> + <array> + <string>{87.135666842446952, 613.68177223831776}</string> + <string>{120.29906669391403, 586.31821677435846}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.0142860412597656</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>63</integer> + <key>Info</key> + <integer>2</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{183.625, 614}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>64</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{68.5, 614}, {36.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W6</string> + <key>Size</key> + <real>11</real> + </dict> + <key>ID</key> + <integer>63</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{311.25, 532}, {161, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>61</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<inteface>>\ +Result}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{311.25, 568}, {161, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>62</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ TreeEditor getEditor()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>61</integer> + <integer>62</integer> + <array/> + </array> + <key>ID</key> + <integer>60</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{25.5, 532}, {234, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>34</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 NodePath}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{25.5, 550}, {234, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>59</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ Evaluation eval(Iterable<Node> path,Node child,int pos)}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>34</integer> + <integer>59</integer> + <array/> + </array> + <key>ID</key> + <integer>33</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{68.25, 312}, {365, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>57</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<interface>>\ +TreeEditor}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{68.25, 348}, {365, 144}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>58</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Align</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\deftab720 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri-380 + +\f0\fs24 \cf0 \expnd0\expndtw0\kerning0 ++ TraversableTree getTree()\ ++ Result appendChildBehindOf(NodePath p)\ ++ Result appendChildInfrontOf(NodePath p)\ ++ Result deleteChild(NodePath p)\ ++ Result putAttribute(NodePath p,String k,ByteBuffer v)\ ++ Result deleteAttribute(NodePath p,String k)\ ++ boolean success()\ ++ void fail()}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridH</key> + <array> + <integer>57</integer> + <integer>58</integer> + <array/> + </array> + <key>ID</key> + <integer>56</integer> + </dict> + <dict> + <key>Class</key> + <string>TableGroup</string> + <key>Graphics</key> + <array> + <dict> + <key>Bounds</key> + <string>{{153, 224}, {195.5, 36}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>54</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>GradientCenter</key> + <string>{-0.29411799999999999, -0.264706}</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf340 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 <<interface>>\ +TreeStore}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer>