For those of you who were here when my Tree class was discussed, here is 
the latest on the integration of that datastructure into the expression 
of the FO Tree.

The initial structure is a Tree class with a member class Node.  (Node 
itself has a number of Iterator member classes.)  Class FOTree extends 
Tree, and so inherits an inner Node class.  That implicit inner Node 
class, i.e. FOTree.Node, is extended by FONode, which thereby inherits 
the implicit containing class FOTree.  Individual elements of the Fo 
Tree, starting with FoRoot, extend FONode, thereby also becoming member 
classes of FOTree.  At least, that's the way I understand this 
inheritance to work.

[  Tree    [ .Node  ] ]
     |
     v
[ FOTree  ([ .Node  ])]
               |
               v
[(FOTree.) [ FONode ] ]
               |
               v
[(FOTree.) [ FoRoot ] ]
              etc


FOTree maintains the property stacks with the initial value, current 
value and history of the properties being defined on elements of the FO 
Tree.  It also implements Runnable, and its run() method is the source 
of the FoTreeBuilder thread.  On construction, it is given a 
SyncedCircularBuffer by means of which it receives event notification 
from the parser.

I'm in the process of building the layout-master-set, which will let me 
test the property parsing and the behaviour of the property stacks.

So far, so good.

Peter




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to