/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 2007.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.query.parser;
import info.aduna.lang.service.ServiceRegistry;
import org.openrdf.query.QueryLanguage;
/**
* A registry that keeps track of the available {@link QueryParserFactory}s.
*
* @author Arjohn Kampman
*/
public class QueryParserRegistry extends ServiceRegistry<QueryLanguage, QueryParserFactory> {
private static QueryParserRegistry defaultRegistry;
/**
* Gets the default QueryParserRegistry.
*
* @return The default registry.
*/
public static synchronized QueryParserRegistry getInstance() {
if (defaultRegistry == null) {
defaultRegistry = new QueryParserRegistry();
}
return defaultRegistry;
}
public QueryParserRegistry() {
super(QueryParserFactory.class);
}
@Override
protected QueryLanguage getKey(QueryParserFactory factory) {
return factory.getQueryLanguage();
}
}