|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.media.jai.registry.TileDecoderRegistry
Utility class to provide type-safe interaction with the
OperationRegistry
for TileDecoderFactory
objects.
If the OperationRegistry
specified as an argument to the
methods in this class is null, then JAI.getOperationRegistry()
will be used.
Constructor Summary | |
TileDecoderRegistry()
|
Method Summary | |
static void |
clearPreferences(OperationRegistry registry,
String formatName,
String productName)
Clears all preferences set for registered TileDecoderFactory s under the given formatName and
productName in the given OperationRegistry . |
static TileDecoder |
create(OperationRegistry registry,
String formatName,
InputStream input,
TileCodecParameterList paramList)
Creates a TileDecoder for the specified format that is
capable of handling the supplied arguments. |
static Raster |
decode(OperationRegistry registry,
String formatName,
InputStream input,
TileCodecParameterList param)
Decodes the data from the specified InputStream
using the given formatName and TileCodecParameterList . |
static Raster |
decode(OperationRegistry registry,
String formatName,
InputStream input,
TileCodecParameterList param,
Point location)
Decodes the data from the specified InputStream
using the given formatName and TileCodecParameterList . |
static TileDecoderFactory |
get(OperationRegistry registry,
String formatName)
Returns the the most preferred TileDecoderFactory
object registered against the given format name. |
static Iterator |
getIterator(OperationRegistry registry,
String formatName)
Returns an Iterator over all
TileDecoderFactory objects registered under the
given format name over all products. |
static List |
getOrderedList(OperationRegistry registry,
String formatName,
String productName)
Returns a List of the TileDecoderFactory s registered
in the given OperationRegistry under the given
formatName and productName, in an ordering that satisfies
all of the pairwise preferences that have been set. |
static void |
register(OperationRegistry registry,
String formatName,
String productName,
TileDecoderFactory tdf)
Registers the given TileDecoderFactory with the given
OperationRegistry under the given formatName and
productName. |
static void |
setPreference(OperationRegistry registry,
String formatName,
String productName,
TileDecoderFactory preferredTDF,
TileDecoderFactory otherTDF)
Sets a preference between the given two TileDecoderFactory
objects in the given OperationRegistry under the given
formatName and productName. |
static void |
unregister(OperationRegistry registry,
String formatName,
String productName,
TileDecoderFactory tdf)
Unregisters the given TileDecoderFactory previously
registered under the given formatName and productName in the given
OperationRegistry . |
static void |
unsetPreference(OperationRegistry registry,
String formatName,
String productName,
TileDecoderFactory preferredTDF,
TileDecoderFactory otherTDF)
Unsets a preference previously set amongst the given two TileDecoderFactory objects in the given
OperationRegistry under the given formatName
and productName. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public TileDecoderRegistry()
Method Detail |
public static void register(OperationRegistry registry, String formatName, String productName, TileDecoderFactory tdf)
TileDecoderFactory
with the given
OperationRegistry
under the given formatName and
productName.registry
- The OperationRegistry
to register the
TileDecoderFactory
with. If this is
null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The formatName to register the
TileDecoderFactory
under.productName
- The productName to register the
TileDecoderFactory
under.tdf
- The TileDecoderFactory
to register.TileCodecDescriptor
registered against the
given formatName
public static void unregister(OperationRegistry registry, String formatName, String productName, TileDecoderFactory tdf)
TileDecoderFactory
previously
registered under the given formatName and productName in the given
OperationRegistry
.registry
- The OperationRegistry
to unregister the
TileDecoderFactory
from. If this is
null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The formatName to unregister the
TileDecoderFactory
from.productName
- The productName to unregister the
TileDecoderFactory
from.tdf
- The TileDecoderFactory
to unregister.TileCodecDescriptor
registered against the
given formatName
public static void setPreference(OperationRegistry registry, String formatName, String productName, TileDecoderFactory preferredTDF, TileDecoderFactory otherTDF)
TileDecoderFactory
objects in the given OperationRegistry
under the given
formatName and productName.registry
- The OperationRegistry
to set
preferences on. If this is
null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The formatName of the two
TileDecoderFactory
s.productName
- The productName of the two
TileDecoderFactory
s.preferredTDF
- The preferred TileDecoderFactory
.otherTDF
- The other TileDecoderFactory
.TileCodecDescriptor
registered against the
given formatName
public static void unsetPreference(OperationRegistry registry, String formatName, String productName, TileDecoderFactory preferredTDF, TileDecoderFactory otherTDF)
TileDecoderFactory
objects in the given
OperationRegistry
under the given formatName
and productName.registry
- The OperationRegistry
to unset
preferences on. If this is
null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The formatName of the two
TileDecoderFactory
s.productName
- The productName of the two
TileDecoderFactory
s.preferredTDF
- The preferred TileDecoderFactory
.otherTDF
- The other TileDecoderFactory
.TileCodecDescriptor
registered against the
given formatName
public static void clearPreferences(OperationRegistry registry, String formatName, String productName)
TileDecoderFactory
s under the given formatName and
productName in the given OperationRegistry
.registry
- The OperationRegistry
to clear
preferences from. If this is
null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format name to clear preferences under.productName
- The productName to clear preferences under.TileCodecDescriptor
registered against the
given formatName
.public static List getOrderedList(OperationRegistry registry, String formatName, String productName)
TileDecoderFactory
s registered
in the given OperationRegistry
under the given
formatName and productName, in an ordering that satisfies
all of the pairwise preferences that have been set. Returns
null
if cycles exist.registry
- The OperationRegistry
to clear
preferences from. If this is
null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format name to clear preferences under.productName
- The productName to clear preferences under.TileCodecDescriptor
registered against the
given formatName
.public static Iterator getIterator(OperationRegistry registry, String formatName)
Iterator
over all
TileDecoderFactory
objects registered under the
given format name over all products. The order of the
TileDecoderFactory
objects in the iteration will
be according to the pairwise preferences among products and
TileDecoderFactory
objects within a product. The
remove()
method of the Iterator
may not be implemented.registry
- The OperationRegistry
to use. If
this is null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format name.Iterator
over TileDecoderFactory
objects.null
TileCodecDescriptor
registered against the
given formatName
.public static TileDecoderFactory get(OperationRegistry registry, String formatName)
TileDecoderFactory
object registered against the given format name. This
method will return the first TileDecoderFactory
that
would be encountered by the Iterator
returned by the
getIterator()
method.registry
- The OperationRegistry
to use.
If this is null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format name as a String
TileDecoderFactory
objectnull
.TileCodecDescriptor
registered against
the formatName
public static TileDecoder create(OperationRegistry registry, String formatName, InputStream input, TileCodecParameterList paramList)
TileDecoder
for the specified format that is
capable of handling the supplied arguments.
The preferences set amongst the TileDecoderFactory
objects registered with the OperationRegistry
are used
to select the most prefered TileDecoderFactory
whose
createDecoder()
method returns a non-null value.
In order to do the decoding correctly, the caller should
retrieve the TileCodecDescriptor
associated with the
returned TileDecoder
from the
OperationRegistry
and use it's
includesLocationInfo()
method's return value to decide
which of the two versions of the decode()
method on the
returned TileDecoder
should be used.
Since this class is a simple type-safe wrapper around
OperationRegistry
's type-unsafe methods, no additional
argument validation is performed in this method. Thus errors/exceptions
may occur if incorrect values are provided for the input arguments.
Exceptions thrown by the TileDecoderFactory
s used to
create the TileDecoder
will be caught by this method
and will not be propagated.
registry
- The OperationRegistry
to use to create
the TileDecoder
. If
this is null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format for which the TileDecoder
is
to be created.input
- The InputStream
to read encoded data from.paramList
- The object containing the tile decoding parameters.TileCodecDescriptor
registered against the
given formatName
.public static Raster decode(OperationRegistry registry, String formatName, InputStream input, TileCodecParameterList param) throws IOException
InputStream
using the given formatName and TileCodecParameterList
.
The TileDecoder
which performs the decoding is the
one created from the most prefered TileDecoderFactory
whose create
method returns a non-null result.
An IllegalArgumentException
will be thrown if
the specified format's TileCodecDescriptor
's
includesLocationInfo()
method returns false, as no
location information is provided in this method.
If the specified TileCodecParameterList
is null, the
default TileCodecParameterList
retrieved by the specific
TileDecoder.getDefaultParameters
() method for the
"tileDecoder" registry mode will be used.
For the specified format, if the associated
TileCodecDescriptor
's includesSampleModelInfo()
method returns false, and either the specified
TileCodecParameterList
is null or if it doesn't contain
a non-value for the "sampleModel" parameter, an
IllegalArgumentException
will be thrown.
If there are no TileDecoder
objects that can decode
the specified InputStream
according to the decoding
parameters supplied, null will be returned from this method.
If multiple tiles are to be decoded from the same
InputStream
in the same format using the same
TileCodecParameterList
, it is advisable to create a
TileDecoder
object and use the decode()
method
on this decoder for each tile, thus creating and using only a single
TileDecoder
object. The decode()
method on TileDecoderRegistry
creates a new
TileDecoder
object each time it is called.
Since this class is a simple type-safe wrapper around
OperationRegistry
's type-unsafe methods, no additional
argument validation is performed in this method. Thus errors/exceptions
may occur if incorrect values are provided for the input arguments.
Exceptions thrown by the TileDecoderFactory
s used to
create the TileDecoder
will be caught by this method
and will not be propagated.
registry
- The OperationRegistry
to use to create
the TileDecoder
. If
this is null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format name associated with the decoder.input
- The InputStream
containing the data
to be decoded.param
- The TileCodecParameterList
to be used.TileDecoder
, or null
.TileCodecDescriptor
registered against the
given formatName
.public static Raster decode(OperationRegistry registry, String formatName, InputStream input, TileCodecParameterList param, Point location) throws IOException
InputStream
using the given formatName and TileCodecParameterList
.
The TileDecoder
which performs the decoding is the
one created from the most prefered TileDecoderFactory
whose create
method returns a non-null result. If
there are no TileDecoder
objects that can decode
the specified InputStream
according to the decoding
parameters supplied, null will be returned from this method.
If the specified TileCodecParameterList
is null, the
default TileCodecParameterList
retrieved by the specific
TileDecoder.getDefaultParameters()
method will be used.
If the specified location is null, and the associated
TileCodecDescriptor
's includesLocationInfo()
method returns false, IllegalArgumentException
will be
thrown.
For the specified format, if the associated
TileCodecDescriptor
's includesSampleModelInfo()
method returns false, and if the specified
TileCodecParameterList
is null or if it doesn't contain
a non-value for the "sampleModel" parameter, an
IllegalArgumentException
will be thrown.
If multiple tiles are to be decoded from the same
InputStream
in the same format using the same
TileCodecParameterList
, it is advisable to create a
TileDecoder
object and use the decode()
method
on this decoder for each tile, thus creating and using only a single
TileDecoder
object. The decode()
method on TileDecoderRegistry
creates a new
TileDecoder
object each time it is called.
Since this class is a simple type-safe wrapper around
OperationRegistry
's type-unsafe methods, no additional
argument validation is performed in this method. Thus errors/exceptions
may occur if incorrect values are provided for the input arguments.
Exceptions thrown by the TileDecoderFactory
s used to
create the TileDecoder
will be caught by this method
and will not be propagated.
registry
- The OperationRegistry
to use to create
the TileDecoder
. If
this is null
, then
JAI.getDefaultInstance().getOperationRegistry()
will be used.formatName
- The format name associated with the decoder.input
- The InputStream
containing the data to
be decoded.param
- The TileCodecParameterList
to be used.location
- The Point
specifying the upper left
corner of the Raster
.TileDecoder
, or null
.TileCodecDescriptor
registered against the
given formatName
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |