Class IIOServiceProvider
- java.lang.Object
-
- javax.imageio.spi.IIOServiceProvider
-
- All Implemented Interfaces:
- RegisterableService
- Direct Known Subclasses:
- ImageInputStreamSpi, ImageOutputStreamSpi, ImageReaderWriterSpi, ImageTranscoderSpi
public abstract class IIOServiceProvider extends Object implements RegisterableService
A superinterface for functionality common to all Image I/O service provider interfaces (SPIs). For more information on service provider classes, see the class comment for theIIORegistry
class.
-
-
Field Summary
Fields Modifier and Type Field and Description protected String
vendorName
AString
to be returned fromgetVendorName
, initiallynull
.protected String
version
AString
to be returned fromgetVersion
, initially null.
-
Constructor Summary
Constructors Constructor and Description IIOServiceProvider()
Constructs a blankIIOServiceProvider
.IIOServiceProvider(String vendorName, String version)
Constructs anIIOServiceProvider
with a given vendor name and version identifier.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods 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 aServiceRegistry
.void
onRegistration(ServiceRegistry registry, Class<?> category)
A callback that will be called exactly once after the Spi class has been instantiated and registered in aServiceRegistry
.
-
-
-
Field Detail
vendorName
protected String vendorName
AString
to be returned fromgetVendorName
, initiallynull
. Constructors should set this to a non-null
value.
version
protected String version
AString
to be returned fromgetVersion
, initially null. Constructors should set this to a non-null
value.
-
Constructor Detail
IIOServiceProvider
public IIOServiceProvider(String vendorName, String version)
Constructs anIIOServiceProvider
with a given vendor name and version identifier.- Parameters:
-
vendorName
- the vendor name. -
version
- a version identifier. - Throws:
-
IllegalArgumentException
- ifvendorName
isnull
. -
IllegalArgumentException
- ifversion
isnull
.
IIOServiceProvider
public IIOServiceProvider()
Constructs a blankIIOServiceProvider
. It is up to the subclass to initialize instance variables and/or override method implementations in order to ensure that thegetVendorName
andgetVersion
methods will return non-null
values.
-
Method Detail
onRegistration
public void onRegistration(ServiceRegistry registry, Class<?> category)
A callback that will be called exactly once after the Spi class has been instantiated and registered in aServiceRegistry
. 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.
- Specified by:
-
onRegistration
in interfaceRegisterableService
- Parameters:
-
registry
- aServiceRegistry
where this object has been registered. -
category
- aClass
object indicating the registry category under which this object has been registered. - See Also:
-
ServiceRegistry.registerServiceProvider(Object provider)
onDeregistration
public void onDeregistration(ServiceRegistry registry, Class<?> category)
A callback that will be whenever the Spi class has been deregistered from aServiceRegistry
.Only the registry should call this method.
The default implementation does nothing.
- Specified by:
-
onDeregistration
in interfaceRegisterableService
- Parameters:
-
registry
- aServiceRegistry
from which this object is being (wholly or partially) deregistered. -
category
- aClass
object indicating the registry category from which this object is being deregistered. - See Also:
-
ServiceRegistry.deregisterServiceProvider(Object provider)
getVendorName
public String getVendorName()
Returns the name of the vendor responsible for creating this service provider and its associated implementation. Because the vendor name may be used to select a service provider, it is not localized.The default implementation returns the value of the
vendorName
instance variable.- Returns:
-
a non-
null
String
containing the name of the vendor.
getVersion
public String getVersion()
Returns a string describing the version number of this service provider and its associated implementation. Because the version may be used by transcoders to identify the service providers they understand, this method is not localized.The default implementation returns the value of the
version
instance variable.- Returns:
-
a non-
null
String
containing the version of this service provider.
getDescription
public abstract String getDescription(Locale locale)
Returns a brief, human-readable description of this service provider and its associated implementation. The resulting string should be localized for the suppliedLocale
, if possible.- Parameters:
-
locale
- aLocale
for which the return value should be localized. - Returns:
-
a
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.