view document/node_transform_architecture.svg @ 146:371b6ddb78f2

repair putAttributeIndex and deleteAttributeIndex
author one
date Fri, 21 Nov 2014 12:46:06 +0900
parents 790a73e0c8ec
children
line wrap: on
line source

<?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">&lt;&lt;interface&gt;&gt;</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">&lt;&lt;inteface&gt;&gt;</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">&lt;&lt;inteface&gt;&gt;</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">&lt;&lt;inteface&gt;&gt;</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">&lt;&lt;inteface&gt;&gt;</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">&lt;&lt;interface&gt;&gt;</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">&lt;&lt;interface&gt;&gt;</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">&lt;&lt;enum&gt;&gt;</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">&lt;&lt;uses&gt;&gt;</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">&lt;&lt;uses&gt;&gt;</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">&lt;&lt;uses&gt;&gt;</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">&lt;&lt;uses&gt;&gt;</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">&lt;&lt;interface&gt;&gt;</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>