01: /*
02: * Copyright Aduna (http://www.aduna-software.com/) (c) 2007.
03: *
04: * Licensed under the Aduna BSD-style license.
05: */
06: package org.openrdf.query.parser;
07:
08: import info.aduna.lang.service.ServiceRegistry;
09:
10: import org.openrdf.query.QueryLanguage;
11:
12: /**
13: * A registry that keeps track of the available {@link QueryParserFactory}s.
14: *
15: * @author Arjohn Kampman
16: */
17: public class QueryParserRegistry extends
18: ServiceRegistry<QueryLanguage, QueryParserFactory> {
19:
20: private static QueryParserRegistry defaultRegistry;
21:
22: /**
23: * Gets the default QueryParserRegistry.
24: *
25: * @return The default registry.
26: */
27: public static synchronized QueryParserRegistry getInstance() {
28: if (defaultRegistry == null) {
29: defaultRegistry = new QueryParserRegistry();
30: }
31:
32: return defaultRegistry;
33: }
34:
35: public QueryParserRegistry() {
36: super (QueryParserFactory.class);
37: }
38:
39: @Override
40: protected QueryLanguage getKey(QueryParserFactory factory) {
41: return factory.getQueryLanguage();
42: }
43: }
|