Public Member Functions | |
EntityRefFinder () | |
EntityRefFinder (boolean debug) | |
EntityRefT[] | findEntityReferences (Object rootEntityObject) throws EntityException |
Takes an entity object (binding class) and traverses the tree to find references (EntityRefT nodes) to other entity objects.
Currently specific to XML binding classes produced by the Castor framework; should be not too hard though to adapt to others (mainly enumeration stuff)
Assumes that it's a tree, not a graph (therefore no checks whether a node has been visited already). On a graph this could lead to an infinite loop.
Possible optimization would be to compute on demand a list of Class objects for which we know that they can't have EntityRefT children, and to subsequently stop the recursion there.
alma.acs.entityutil.EntityRefFinder.EntityRefFinder | ( | ) |
alma.acs.entityutil.EntityRefFinder.EntityRefFinder | ( | boolean | debug | ) |
EntityRefT [] alma.acs.entityutil.EntityRefFinder.findEntityReferences | ( | Object | rootEntityObject | ) | throws EntityException |