## org.jgroups
Interface ExtendedMessageListener

All Superinterfaces:
  MessageListener

All Known Subinterfaces:
  ExtendedReceiver

All Known Implementing Classes:
  Draw, ExtendedReceiverAdapter, MessageListenerAdapter, ReplicatedHashMap

    public interface ExtendedMessageListener

extends MessageListener

`ExtendedMessageListener` has additional callbacks for:

- partial state transfer - http://jira.jboss.com/jira/browse/JGRP-118
- streaming state transfer - http://jira.jboss.com/jira/browse/JGRP-89

Application channels interested in using streaming state transfer, beside implementing this interface, have to be configured with `STREAMING_STATE_TRANSFER` protocol rather than the default `STATE_TRANSFER` protocol.

Note:

This interface will be merged with MessageListener in 3.0 (API changes)

Since:
  2.3
Author:
  Bela Ban, Vladimir Blagojevic
See Also:
  `JChannel.getState(Address, long)`, `JChannel.getState(Address, String, long)`

Method Summary
`void` `getState(java.io.OutputStream ostream)` Allows an application to write a state through a provided OutputStream.
`byte[]` `getState(java.lang.String state_id)` Allows an application to provide a partial state as a byte array
`void` `getState(java.lang.String state_id, java.io.OutputStream ostream)` Allows an application to write a partial state through a provided OutputStream.
`void` `setState(java.io.InputStream istream)` Allows an application to read a state through a provided InputStream.
`void` `setState(java.lang.String state_id, byte[] state)` Allows an application to read a partial state indicated by state_id from a given state byte array parameter.
`void` `setState(java.lang.String state_id, java.io.InputStream istream)` Allows an application to read a partial state through a provided InputStream.

Methods inherited from interface org.jgroups.MessageListener
`getState, receive, setState`

Method Detail

### getState

    byte[] getState(java.lang.String state_id)

  Allows an application to provide a partial state as a byte array

  Parameters:
    `state_id` - id of the partial state requested
  Returns:
    partial state for the given state_id

### setState

    void setState(java.lang.String state_id,
                  byte[] state)

  Allows an application to read a partial state indicated by state_id from a given state byte array parameter.

  Parameters:
    `state_id` - id of the partial state requested
    `state` - partial state for the given state_id

### getState

    void getState(java.io.OutputStream ostream)

  Allows an application to write a state through a provided OutputStream. An application is obligated to always close the given OutputStream reference.

  Parameters:
    `ostream` - the OutputStream
  See Also:
    `OutputStream.close()`

### getState

    void getState(java.lang.String state_id,
                  java.io.OutputStream ostream)

  Allows an application to write a partial state through a provided OutputStream. An application is obligated to always close the given OutputStream reference.

  Parameters:
    `state_id` - id of the partial state requested
    `ostream` - the OutputStream
  See Also:
    `OutputStream.close()`

### setState

    void setState(java.io.InputStream istream)

  Allows an application to read a state through a provided InputStream. An application is obligated to always close the given InputStream reference.

  Parameters:
    `istream` - the InputStream
  See Also:
    `InputStream.close()`

### setState

    void setState(java.lang.String state_id,
                  java.io.InputStream istream)

  Allows an application to read a partial state through a provided InputStream. An application is obligated to always close the given InputStream reference.

  Parameters:
    `state_id` - id of the partial state requested
    `istream` - the InputStream
  See Also:
    `InputStream.close()`

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.