Re: XMLEncoder behavior

From: Kevin Menard (kmenar..ervprise.com)
Date: Fri Dec 16 2005 - 09:39:40 EST

  • Next message: Mike Kienenberger: "Re: client-superclass.vm"

    Cris Daniluk wrote:
    > Jut FYI, while there is mention of a forceList attribute there, there
    > is not in your code :)
    >
    > Maybe a feature that didn't get fully implemented?

    The code exists in the decoder (and only the decoder, per the linked
    docs) with the following monstrosity:

                // This crazy conditional checks if we're decoding a
    collection. There are two
                // ways
                // to enter into this body:
                // 1) If there are two elements at the same level with the
    same name, then
                // they should
                // part of a collection.
                // 2) If a single occurring element has the "forceList"
    attribute set to
                // "YES", then it
                // too should be treated as a collection.
                //
                // The final part checks that we have not previously
    attempted to decode this
                // collection,
                // which is necessary to prevent infinite loops .
                if ((((null != child.getParentNode()) && (XMLUtil.getChildren(
                        child.getParentNode(),
                        child.getNodeName()).size() > 1)) || (child
                        .getAttribute("forceList")
                        .toUpperCase().equals("YES")))
                        && (!decodedCollections.contains(child))) {
                    return decodeCollection(child);
                }

    -- 
    Kevin
    



    This archive was generated by hypermail 2.0.0 : Fri Dec 16 2005 - 09:39:56 EST