## org.mortbay.io
Class ByteArrayEndPoint

    java.lang.Object
      org.mortbay.io.ByteArrayEndPoint

All Implemented Interfaces:
  EndPoint

    public class ByteArrayEndPoint

extends Object
implements EndPoint

ByteArrayEndPoint.

Author:
  gregw

Constructor Summary
`ByteArrayEndPoint()`
`ByteArrayEndPoint(byte[] input, int outputSize)`

Method Summary
`boolean` `blockReadable(long millisecs)`
`boolean` `blockWritable(long millisecs)`
`void` `close()` Close any backing stream associated with the buffer
`int` `fill(Buffer buffer)` Fill the buffer from the current putIndex to it's capacity from whatever byte source is backing the buffer.
`void` `flush()` Flush any buffered output.
`int` `flush(Buffer buffer)` Flush the buffer from the current getIndex to it's putIndex using whatever byte sink is backing the buffer.
`int` `flush(Buffer header, Buffer buffer, Buffer trailer)` Flush the buffer from the current getIndex to it's putIndex using whatever byte sink is backing the buffer.
`ByteArrayBuffer` `getIn()`
`String` `getLocalAddr()`
`String` `getLocalHost()`
`int` `getLocalPort()`
`ByteArrayBuffer` `getOut()`
`String` `getRemoteAddr()`
`String` `getRemoteHost()`
`int` `getRemotePort()`
`Object` `getTransport()`
`boolean` `isBlocking()`
`boolean` `isBufferingInput()`
`boolean` `isBufferingOutput()`
`boolean` `isBufferred()`
`boolean` `isGrowOutput()`
`boolean` `isNonBlocking()`
`boolean` `isOpen()`
`void` `reset()`
`void` `setGrowOutput(boolean growOutput)`
`void` `setIn(ByteArrayBuffer in)`
`void` `setNonBlocking(boolean nonBlocking)`
`void` `setOut(ByteArrayBuffer out)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ByteArrayEndPoint

    public ByteArrayEndPoint()

### ByteArrayEndPoint

    public ByteArrayEndPoint(byte[] input,
                             int outputSize)

Method Detail

### isNonBlocking

    public boolean isNonBlocking()

  Returns:
    the nonBlocking

### setNonBlocking

    public void setNonBlocking(boolean nonBlocking)

  Parameters:
    `nonBlocking` - the nonBlocking to set

### getIn

    public ByteArrayBuffer getIn()

  Returns:
    Returns the in.

### setIn

    public void setIn(ByteArrayBuffer in)

  Parameters:
    `in` - The in to set.

### getOut

    public ByteArrayBuffer getOut()

  Returns:
    Returns the out.

### setOut

    public void setOut(ByteArrayBuffer out)

  Parameters:
    `out` - The out to set.

### isOpen

    public boolean isOpen()

  Specified by:
    `isOpen` in interface `EndPoint`

### isBlocking

    public boolean isBlocking()

  Specified by:
    `isBlocking` in interface `EndPoint`

### blockReadable

    public boolean blockReadable(long millisecs)

  Specified by:
    `blockReadable` in interface `EndPoint`

### blockWritable

    public boolean blockWritable(long millisecs)

  Specified by:
    `blockWritable` in interface `EndPoint`

### close

    public void close()
               throws IOException

  Description copied from interface: `EndPoint`
  Close any backing stream associated with the buffer

  Specified by:
    `close` in interface `EndPoint`
  Throws:
    `IOException`

### fill

    public int fill(Buffer buffer)
             throws IOException

  Description copied from interface: `EndPoint`
  Fill the buffer from the current putIndex to it's capacity from whatever byte source is backing the buffer. The putIndex is increased if bytes filled. The buffer may chose to do a compact before filling.

  Specified by:
    `fill` in interface `EndPoint`
  Returns:
    an `int` value indicating the number of bytes filled or -1 if EOF is reached.
  Throws:
    `IOException`

### flush

    public int flush(Buffer buffer)
              throws IOException

  Description copied from interface: `EndPoint`
  Flush the buffer from the current getIndex to it's putIndex using whatever byte sink is backing the buffer. The getIndex is updated with the number of bytes flushed. Any mark set is cleared. If the entire contents of the buffer are flushed, then an implicit empty() is done.

  Specified by:
    `flush` in interface `EndPoint`
  Parameters:
    `buffer` - The buffer to flush. This buffers getIndex is updated.
  Returns:
    the number of bytes written
  Throws:
    `IOException`

### flush

    public int flush(Buffer header,
                     Buffer buffer,
                     Buffer trailer)
              throws IOException

  Description copied from interface: `EndPoint`
  Flush the buffer from the current getIndex to it's putIndex using whatever byte sink is backing the buffer. The getIndex is updated with the number of bytes flushed. Any mark set is cleared. If the entire contents of the buffer are flushed, then an implicit empty() is done. The passed header/trailer buffers are written before/after the contents of this buffer. This may be done either as gather writes, as a poke into this buffer or as several writes. The implementation is free to select the optimal mechanism.

  Specified by:
    `flush` in interface `EndPoint`
  Parameters:
    `header` - A buffer to write before flushing this buffer. This buffers getIndex is updated.
    `buffer` - The buffer to flush. This buffers getIndex is updated.
    `trailer` - A buffer to write after flushing this buffer. This buffers getIndex is updated.
  Returns:
    the total number of bytes written.
  Throws:
    `IOException`

### reset

    public void reset()

### getLocalAddr

    public String getLocalAddr()

  Specified by:
    `getLocalAddr` in interface `EndPoint`
  Returns:
    The local IP address to which this `EndPoint` is bound, or `null` if this `EndPoint` does not represent a network connection.

### getLocalHost

    public String getLocalHost()

  Specified by:
    `getLocalHost` in interface `EndPoint`
  Returns:
    The local host name to which this `EndPoint` is bound, or `null` if this `EndPoint` does not represent a network connection.

### getLocalPort

    public int getLocalPort()

  Specified by:
    `getLocalPort` in interface `EndPoint`
  Returns:
    The local port number on which this `EndPoint` is listening, or `0` if this `EndPoint` does not represent a network connection.

### getRemoteAddr

    public String getRemoteAddr()

  Specified by:
    `getRemoteAddr` in interface `EndPoint`
  Returns:
    The remote IP address to which this `EndPoint` is connected, or `null` if this `EndPoint` does not represent a network connection.

### getRemoteHost

    public String getRemoteHost()

  Specified by:
    `getRemoteHost` in interface `EndPoint`
  Returns:
    The host name of the remote machine to which this `EndPoint` is connected, or `null` if this `EndPoint` does not represent a network connection.

### getRemotePort

    public int getRemotePort()

  Specified by:
    `getRemotePort` in interface `EndPoint`
  Returns:
    The remote port number to which this `EndPoint` is connected, or `0` if this `EndPoint` does not represent a network connection.

### getTransport

    public Object getTransport()

  Specified by:
    `getTransport` in interface `EndPoint`
  Returns:
    The underlying transport object (socket, channel, etc.)

### flush

    public void flush()
               throws IOException

  Description copied from interface: `EndPoint`
  Flush any buffered output. May fail to write all data if endpoint is non-blocking

  Specified by:
    `flush` in interface `EndPoint`
  Throws:
    `IOException`

### isBufferingInput

    public boolean isBufferingInput()

  Specified by:
    `isBufferingInput` in interface `EndPoint`
  Returns:
    True if the endpoint has some buffered input data

### isBufferingOutput

    public boolean isBufferingOutput()

  Specified by:
    `isBufferingOutput` in interface `EndPoint`
  Returns:
    True if the endpoint has some buffered output data

### isBufferred

    public boolean isBufferred()

  Specified by:
    `isBufferred` in interface `EndPoint`

### isGrowOutput

    public boolean isGrowOutput()

  Returns:
    the growOutput

### setGrowOutput

    public void setGrowOutput(boolean growOutput)

  Parameters:
    `growOutput` - the growOutput to set

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.