Nice API +1
Small suggestion : change CHILDRECURSE to CHILD_RECURSIVELY (same for previous and next of course). Jerome On Thu, Feb 10, 2011 at 6:27 PM, Thomas Mortagne <[email protected]>wrote: > Here is a proposal to reduce all get...Block to 2 methods which > support matching any Block. > > interface Block > { > enum TraversalStrategy > { > /** Search in parents **/ > PARENT, > /** Search in children **/ > CHILD, > /** Search recursively in children (and children of children etc...) **/ > CHILDRECURSE, > /** Search in previous siblings **/ > PREVIOUS, > /** Search recursively in previous siblings (and parent previous > sibling etc...) **/ > PREVIOUSRECURSE, > /** Search in next siblings**/ > NEXT, > /** Search recursively in next siblings (and children etc...)**/ > NEXTRECURSE > } > > [...] > > List<Block> getBlocks(BlockMatcher matcher, TraversalStrategy > traversalStrategy, boolean recurse); > > Block getFirstBlock(BlockMatcher matcher, TraversalStrategy > traversalStrategy, boolean recurse); > } > > interface BlockMatcher > { > boolean match(Block block); > } > > et on refactor tous les autres get*Block basé sur ceux la avec des > BlockMatcher prédéfinis (ClassBlockMatcher, MetaDataBlockMatcher, > etc...). > > Note: the main use case for this change is to support MetaData search. > > WDYT (especially on the vocabulary like "TraversalStrategy") ? > > -- > Thomas Mortagne > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

