Exemplo n.º 1
0
        ///
        ///	 <summary> * walk the tree starting at e.
        ///	 *  </summary>
        ///	 * <param name="e"> the root element to walk </param>
        ///	 * <returns> n the number of traversed elements </returns>
        ///
        public virtual int walk(KElement e)
        {
            if (e == null)
            {
                return(0);
            }
            int n = 0;

            IWalker w = theFactory.getWalker(e);
            bool    b = true;

            if (w != null)
            {
                n++;
                b = w.walk(e);
            }
            if (b)                                                                         // follow kids if still alive
            {
                VElement v = e.getChildElementVector_KElement(null, null, null, true, -1); // do
                // not
                // follow
                // refelements
                int size = v.Count;
                for (int i = 0; i < size; i++)
                {
                    KElement e2 = v[i];
                    n += walk(e2);
                }
            }
            return(n);
        }