On Feb 10, 2011, at 6:27 PM, Thomas Mortagne 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);

recurse param should be removed right?

> 
>  Block getFirstBlock(BlockMatcher matcher, TraversalStrategy
> traversalStrategy, boolean recurse);
> }

same here

> 
> 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...).

Frenglish? ;)

+1

Thanks
-Vincent

> 
> 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

Reply via email to