Hi,
On Wed, Nov 11, 2009 at 11:52 PM, Michael Wechner
<[email protected]> wrote:
> do you have a concrete example?
The client code for the Map option is currently:
Map<String, Object> context = new HashMap<String, Object>();
context.put(Parser.class.getName(), parser);
parser.parse(..., context);
The ParseContext version would look like this:
ParserContext context = new ParseContext();
context.set(Parser.class, parser);
parser.parse(..., context);
The parser implementation code in DelegatingParser.parse() is now:
Object parser = context.get(Parser.class.getName());
if (parser instanceof Parser) {
((Parser) parser).parse(...);
} else {
new EmptyParser().parse(...);
}
With the proposed ParseContext it would be:
context.get(Parser.class, new EmptyParser()).parse(...);
BR,
Jukka Zitting