|
|||||||||
| 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 TileDecoderFactorys 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 TileDecoderFactorys 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.IllegalArgumentException - if formatName is null.IllegalArgumentException - if productName is null.IllegalArgumentException - if tdf is null.IllegalArgumentException - if there is no
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.IllegalArgumentException - if formatName is null.IllegalArgumentException - if productName is null.IllegalArgumentException - if tdf is null.IllegalArgumentException - if there is no
TileCodecDescriptor registered against the
given formatNameIllegalArgumentException - if the tdf was not previously
registered against the given formatName and productName.
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
TileDecoderFactorys.productName - The productName of the two
TileDecoderFactorys.preferredTDF - The preferred TileDecoderFactory.otherTDF - The other TileDecoderFactory.IllegalArgumentException - if formatName is null.IllegalArgumentException - if productName is null.IllegalArgumentException - if preferredTDF is null.IllegalArgumentException - if otherTDF is null.IllegalArgumentException - if there is no
TileCodecDescriptor registered against the
given formatNameIllegalArgumentException - if either of the two tdf's was
not previously registered against the given formatName and productName.
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
TileDecoderFactorys.productName - The productName of the two
TileDecoderFactorys.preferredTDF - The preferred TileDecoderFactory.otherTDF - The other TileDecoderFactory.IllegalArgumentException - if formatName is null.IllegalArgumentException - if productName is null.IllegalArgumentException - if preferredTDF is null.IllegalArgumentException - if otherTDF is null.IllegalArgumentException - if there is no
TileCodecDescriptor registered against the
given formatNameIllegalArgumentException - if either of the two tdf's was
not previously registered against the given formatName and productName.
public static void clearPreferences(OperationRegistry registry,
String formatName,
String productName)
TileDecoderFactorys 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.IllegalArgumentException - if formatName is null.IllegalArgumentException - if productName is null.IllegalArgumentException - if there is no
TileCodecDescriptor registered against the
given formatName.
public static List getOrderedList(OperationRegistry registry,
String formatName,
String productName)
TileDecoderFactorys 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.IllegalArgumentException - if formatName is null.IllegalArgumentException - if productName is null.IllegalArgumentException - if there is no
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.IllegalArgumentException - if formatName is nullIllegalArgumentException - if there is no
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 StringTileDecoderFactory objectIllegalArgumentException - if formatName is null.IllegalArgumentException - if there is no
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 TileDecoderFactorys 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.IllegalArgumentException - if formatName is null.IllegalArgumentException - if there is no
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 TileDecoderFactorys 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.IllegalArgumentException - if formatName is null.IOException - if an I/O error occurs while reading from the
associated InputStream.IllegalArgumentException - if there is no
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 TileDecoderFactorys 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.IllegalArgumentException - if formatName is null.IOException - if an inout/output error occurs while reading from
the associated InputStream or during decoding.IllegalArgumentException - if there is no
TileCodecDescriptor registered against the
given formatName.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||