public abstract class IIOServiceProvider extends Object implements RegisterableService
IIORegistry
class.Modifier and Type | Field and Description |
---|---|
protected String |
vendorName
A
String to be returned from
getVendorName , initially null . |
protected String |
version
A
String to be returned from
getVersion , initially null. |
Constructor and Description |
---|
IIOServiceProvider()
Constructs a blank
IIOServiceProvider . |
IIOServiceProvider(String vendorName,
String version)
Constructs an
IIOServiceProvider with a given
vendor name and version identifier. |
Modifier and Type | Method and Description |
---|---|
abstract String |
getDescription(Locale locale)
Returns a brief, human-readable description of this service
provider and its associated implementation.
|
String |
getVendorName()
Returns the name of the vendor responsible for creating this
service provider and its associated implementation.
|
String |
getVersion()
Returns a string describing the version
number of this service provider and its associated
implementation.
|
void |
onDeregistration(ServiceRegistry registry,
Class<?> category)
A callback that will be whenever the Spi class has been
deregistered from a
ServiceRegistry . |
void |
onRegistration(ServiceRegistry registry,
Class<?> category)
A callback that will be called exactly once after the Spi class
has been instantiated and registered in a
ServiceRegistry . |
protected String vendorName
String
to be returned from
getVendorName
, initially null
.
Constructors should set this to a non-null
value.protected String version
String
to be returned from
getVersion
, initially null. Constructors should
set this to a non-null
value.public IIOServiceProvider(String vendorName, String version)
IIOServiceProvider
with a given
vendor name and version identifier.vendorName
- the vendor name.version
- a version identifier.IllegalArgumentException
- if vendorName
is null
.IllegalArgumentException
- if version
is null
.public IIOServiceProvider()
IIOServiceProvider
. It is up
to the subclass to initialize instance variables and/or
override method implementations in order to ensure that the
getVendorName
and getVersion
methods
will return non-null
values.public void onRegistration(ServiceRegistry registry, Class<?> category)
ServiceRegistry
. This may be used to verify that
the environment is suitable for this service, for example that
native libraries can be loaded. If the service cannot function
in the environment where it finds itself, it should deregister
itself from the registry.
Only the registry should call this method.
The default implementation does nothing.
onRegistration
in interface RegisterableService
registry
- a ServiceRegistry
where this
object has been registered.category
- a Class
object indicating the
registry category under which this object has been registered.ServiceRegistry.registerServiceProvider(Object provider)
public void onDeregistration(ServiceRegistry registry, Class<?> category)
ServiceRegistry
.
Only the registry should call this method.
The default implementation does nothing.
onDeregistration
in interface RegisterableService
registry
- a ServiceRegistry
from which this
object is being (wholly or partially) deregistered.category
- a Class
object indicating the
registry category from which this object is being deregistered.ServiceRegistry.deregisterServiceProvider(Object provider)
public String getVendorName()
The default implementation returns the value of the
vendorName
instance variable.
null
String
containing
the name of the vendor.public String getVersion()
The default implementation returns the value of the
version
instance variable.
null
String
containing
the version of this service provider.public abstract String getDescription(Locale locale)
Locale
, if possible.locale
- a Locale
for which the return value
should be localized.String
containing a description of this
service provider. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.