From a387e4a619256df908e5f1b8263cad012209b319 Mon Sep 17 00:00:00 2001 From: Vreixo Formoso Date: Sat, 13 Oct 2007 19:37:23 +0200 Subject: [PATCH] Annotatte the Builder diagram. --- doc/devel/UML/builder.violet | 328 ++++++++++++++++++++++++++----- doc/devel/UML/builder.violet.png | Bin 13683 -> 32230 bytes 2 files changed, 278 insertions(+), 50 deletions(-) diff --git a/doc/devel/UML/builder.violet b/doc/devel/UML/builder.violet index 7144907..535aca1 100644 --- a/doc/devel/UML/builder.violet +++ b/doc/devel/UML/builder.violet @@ -18,8 +18,8 @@ Filesystem - 239.65022612023944 - 428.68019298068566 + 238.23601255786633 + 493.73401684984844 @@ -33,8 +33,8 @@ Filesystem - 115.78546881025578 - 581.4909858656838 + 115.78546881025575 + 635.2311012358618 @@ -48,8 +48,8 @@ Filesystem - 377.65022612023944 - 579.6801929806866 + 376.23601255786633 + 644.7340168498495 @@ -60,7 +60,8 @@ Filesystem lstat() read() close() -open() +open() +readdir() @@ -72,8 +73,8 @@ SourceFile - 482.9740126701578 - 408.11257163567745 + 481.55979910778467 + 464.84194569982117 @@ -87,8 +88,8 @@ SourceFile - 269.92071150027203 - 579.4370214406978 + 268.5064979378989 + 644.4908453098606 @@ -111,8 +112,8 @@ Stream - 781.3090745567881 - 275.3064215363851 + 779.894860994415 + 340.36024540554786 @@ -126,8 +127,8 @@ Stream - 919.2570998971042 - 440.60621052176435 + 907.9433913981195 + 505.6600343909271 @@ -141,8 +142,8 @@ Stream - 650.496291906489 - 438.22779629175875 + 646.2536512193697 + 514.5953286599063 @@ -156,8 +157,8 @@ Stream - 771.7954176367664 - 441.79541763676707 + 774.6238447615127 + 513.9203093177954 @@ -179,8 +180,8 @@ TreeNodeBuilder - 470.92601754107767 - 54.86674707528562 + 469.51180397870456 + 119.92057094444797 @@ -194,8 +195,8 @@ TreeNodeBuilder - 778.9306603267822 - 72.70485380032646 + 777.5164467644091 + 137.7586776694888 @@ -209,8 +210,8 @@ TreeNodeBuilder - 777.7414532117795 - 170.0566174453891 + 776.3272396494064 + 235.11044131455145 @@ -224,8 +225,8 @@ TreeNodeBuilder - 902.6082002870654 - 168.86741033038638 + 899.7797731623193 + 242.40651557378732 @@ -239,8 +240,8 @@ TreeNodeBuilder - 660.0099488265103 - 172.43503167539455 + 658.5957352641371 + 237.4888555445569 @@ -255,8 +256,8 @@ FileBuilder - 70.16321978516044 - 171.2458245603918 + 68.74900622278733 + 236.29964842955417 @@ -271,8 +272,8 @@ DirBuilder - 191.46234551543796 - 171.24582456039184 + 190.04813195306485 + 236.2996484295542 @@ -287,8 +288,159 @@ SymlinkBuilder - 305.62622855569924 - 171.2458245603918 + 304.21201499332614 + 236.29964842955417 + + + + + + + + POSIX inspired interface to files on different filesystems. +open/close act as a opendir/closedir if the file is a dir, +I think we don't need different function to open a dir. + + + + + + 154.8805850420814 + 333.9382491299707 + + + + + + + + "Sources" for file contents + + + + + + 587.0127806828101 + 358.755499461917 + + + + + + + + CutOutStream + + + + + + 845.6997102991108 + 605.2834046956852 + + + + + + + + FilterStream + + + + + + 721.2489168102784 + 605.2834046956852 + + + + + + + + «interface» +Filter + + + + + + 715.5920625607861 + 705.6925676241749 + + + + + + + + Used for arbitray streams, not related to +filesystem high-level idea. Also used for +files like fifos, that can't be added directly as +regulat files via de Builder, because its size is +unknown. The need to be added as new_files +on image + + + + + + 906.5108934811542 + 328.0975464705584 + + + + + + + + Create the user-specified TreeNode from the +user-specified source. If the source type differs the +TreeNode type the use wants to create, it makes +the needed conversion, if possible. Each builder +implementation can do different conversions. + + + + + + 654.7808793787427 + 20.610173055266337 + + + + + + + + Together with the SourceFile encapsulates the +access to a given filesystem and abstracts it to +a POSIX interface. + + + + + + 20.610173055266422 + 403.050865276332 + + + + + + + + The TreeNodeBuilder can be created with +the combination of different interfaces for +each factory method + + + + + + 149.90663761154804 + 57.982756057296896 @@ -304,21 +456,6 @@ SymlinkBuilder - - - - - - - - - - - - - - - @@ -526,5 +663,96 @@ SymlinkBuilder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/devel/UML/builder.violet.png b/doc/devel/UML/builder.violet.png index 6a6c7a6523ec18f13a603c038afbe220978fe8ac..d7f688f06807f2fe70145e7f4a3f899408d90b5a 100644 GIT binary patch literal 32230 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 M3)<(i&sp66f5MqTe*gdg