public class ServiceProviderHook extends Object
ServiceRegistrypattern which makes use of the same underlying pattern which is disclosed by the
ServiceRegistry pattern provides a declarative association
between a service and a service provider. The service declarations are
META-INF/services/ packages. Each file in such a
package name the service interface and the contents of the file name the
service provider(s). The set of all such service provides located in all such
service packages is registered for a given service interface. For openrdf,
the service provides are initially associated with a key, such as an
However, this service registration pattern does not support the specification
of a preferred service provider. In the context of multiple service
providers for the same key and service interface, there is no way to
control which service provider will remain in the
This effects things such as the bigdata extension for the RDF/XML parser
which adds support for SIDs mode interchange and the interchange of
This class is used to "hook" the various service registeries and force the
use of the bigdata extension when it adds semantics not present in the base
service provider implementation. For such "hooked" services providers, the
service registry pattern using
META-INF/services is not
manditory, but following the pattern is never the less recommended.
|Modifier and Type||Field and Description|
The extension MIME type for RDR aware data interchange of RDF and SPARQL result stes using JSON.
The extension MIME type for RDR data interchange using the RDR extension of N-TRIPLES.
The extension MIME type for RDR data interchange using the RDR extension of TURTLE.
|Constructor and Description|
|Modifier and Type||Method and Description|
This hook may be used to force the load of this class so it can ensure that the bigdata version of a service provider is used instead of the openrdf version.
public static final org.openrdf.rio.RDFFormat TURTLE_RDR
public static final org.openrdf.rio.RDFFormat NTRIPLES_RDR
public static final org.openrdf.rio.RDFFormat JSON_RDR
public static void forceLoad()
Note: We need to use a synchronized pattern in order to ensure that any threads contending for this method awaits its completion. It would not be enough for a thread to know that the method was running. The thread needs to wait until the method is done.
Copyright © 2006-2015 SYSTAP, LLC. All Rights Reserved.