javax.media.jai.remote
Interface RemoteRIF

All Known Subinterfaces:
RemoteCRIF

public interface RemoteRIF

The RemoteRIF interface is intended to be implemented by classes that wish to act as factories to produce different renderings remotely, for example by executing a series of remote operations on a set of sources, depending on a specific set of parameters, properties, and rendering hints.

All factories that produce renderings for operations remotely must implement RemoteRIF.

Classes that implement this interface must provide a constructor with no arguments.

Since:
JAI 1.1

Method Summary
 RemoteRenderedImage create(PlanarImageServerProxy oldRendering, OperationNode node, PropertyChangeEventJAI event)
          Creates a RemoteRenderedImage representing the results of an imaging operation represented by the given OperationNode, whose given old rendering is updated according to the given PropertyChangeEventJAI.
 RemoteRenderedImage create(String serverName, String operationName, ParameterBlock paramBlock, RenderingHints hints)
          Creates a RemoteRenderedImage representing the results of an imaging operation (or chain of operations) for a given ParameterBlock and RenderingHints.
 NegotiableCapabilitySet getClientCapabilities()
          Returns the set of capabilities supported by the client object.
 

Method Detail

create

public RemoteRenderedImage create(String serverName,
                                  String operationName,
                                  ParameterBlock paramBlock,
                                  RenderingHints hints)
                           throws RemoteImagingException
Creates a RemoteRenderedImage representing the results of an imaging operation (or chain of operations) for a given ParameterBlock and RenderingHints. The RemoteRIF may also query any source images referenced by the ParameterBlock for their dimensions, SampleModels, properties, etc., as necessary.

The create() method should return null if the RemoteRIF (representing the server) is not capable of producing output for the given set of source images and parameters. For example, if a server (represented by a RemoteRIF) is only capable of performing a 3x3 convolution on single-banded image data, and the source image has multiple bands or the convolution Kernel is 5x5, null should be returned.

Hints should be taken into account, but can be ignored. The created RemoteRenderedImage may have a property identified by the String HINTS_OBSERVED to indicate which RenderingHints were used to create the image. In addition any RenderedImages that are obtained via the getSources() method on the created RemoteRenderedImage may have such a property.

Parameters:
serverName - A String specifying the name of the server to perform the remote operation on.
operationName - The String specifying the name of the operation to be performed remotely.
paramBlock - A ParameterBlock containing sources and parameters for the RemoteRenderedImage to be created.
hints - A RenderingHints object containing hints.
Returns:
A RemoteRenderedImage containing the desired output.
Throws:
RemoteImagingException

create

public RemoteRenderedImage create(PlanarImageServerProxy oldRendering,
                                  OperationNode node,
                                  PropertyChangeEventJAI event)
                           throws RemoteImagingException
Creates a RemoteRenderedImage representing the results of an imaging operation represented by the given OperationNode, whose given old rendering is updated according to the given PropertyChangeEventJAI. This factory method should be used to create a new rendering updated according to the changes reported by the given PropertyChangeEventJAI. The RemoteRIF can query the supplied OperationNode for references to the server name, operation name, parameter block, and rendering hints. If only a new rendering of the node is desired in order to handle the supplied PropertyChangeEventJAI, the rendering can be obtained by calling the default create() method, the arguments to which can be retrieved from the supplied OperationNode. The RemoteRIF may also query any source images referenced by the ParameterBlock for their dimensions, SampleModels, properties, etc., as necessary. The supplied OperationNode should not be edited during the creation of the new rendering, otherwise the OperationNode might have an inconsistent state.

The create() method can return null if the RemoteRIF (representing the server) is not capable of producing output for the given set of source images and parameters. For example, if a server (represented by a RemoteRIF) is only capable of performing a 3x3 convolution on single-banded image data, and the source image has multiple bands or the convolution Kernel is 5x5, null should be returned.

Hints should be taken into account, but can be ignored. The created RemoteRenderedImage may have a property identified by the String HINTS_OBSERVED to indicate which RenderingHints were used to create the image. In addition any RenderedImages that are obtained via the getSources() method on the created RemoteRenderedImage may have such a property.

Parameters:
oldRendering - The old rendering of the imaging operation.
node - The OperationNode that represents the imaging operation.
event - An event that specifies the changes made to the imaging operation.
Returns:
A RemoteRenderedImage containing the desired output.
Throws:
RemoteImagingException

getClientCapabilities

public NegotiableCapabilitySet getClientCapabilities()
Returns the set of capabilities supported by the client object.