<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_24) on Mon Apr 11 23:10:44 CEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AbstractIoBuffer (Apache MINA 2.0.3 API)
</TITLE>

<META NAME="date" CONTENT="2011-04-11">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractIoBuffer (Apache MINA 2.0.3 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractIoBuffer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/BufferDataException.html" title="class in org.apache.mina.core.buffer"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/mina/core/buffer/AbstractIoBuffer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractIoBuffer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.mina.core.buffer</FONT>
<BR>
Class AbstractIoBuffer</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">org.apache.mina.core.buffer.IoBuffer</A>
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.mina.core.buffer.AbstractIoBuffer</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Comparable&lt;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A>&gt;</DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>AbstractIoBuffer</B><DT>extends <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></DL>
</PRE>

<P>
A base implementation of <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer"><CODE>IoBuffer</CODE></A>.  This implementation
 assumes that <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#buf()"><CODE>IoBuffer.buf()</CODE></A> always returns a correct NIO
 <CODE>ByteBuffer</CODE> instance.  Most implementations could
 extend this class and implement their own buffer management mechanism.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD><a href="http://mina.apache.org">Apache MINA Project</a></DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBufferAllocator.html" title="interface in org.apache.mina.core.buffer"><CODE>IoBufferAllocator</CODE></A></DL>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#AbstractIoBuffer(org.apache.mina.core.buffer.AbstractIoBuffer)">AbstractIoBuffer</A></B>(<A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html" title="class in org.apache.mina.core.buffer">AbstractIoBuffer</A>&nbsp;parent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new derived buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#AbstractIoBuffer(org.apache.mina.core.buffer.IoBufferAllocator, int)">AbstractIoBuffer</A></B>(<A HREF="../../../../../org/apache/mina/core/buffer/IoBufferAllocator.html" title="interface in org.apache.mina.core.buffer">IoBufferAllocator</A>&nbsp;allocator,
                 int&nbsp;initialCapacity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new parent buffer.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.CharBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asCharBuffer()">asCharBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.DoubleBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asDoubleBuffer()">asDoubleBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.FloatBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asFloatBuffer()">asFloatBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.io.InputStream</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asInputStream()">asInputStream</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <CODE>InputStream</CODE> that reads the data from this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.IntBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asIntBuffer()">asIntBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.LongBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asLongBuffer()">asLongBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.io.OutputStream</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asOutputStream()">asOutputStream</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <CODE>OutputStream</CODE> that appends the data into this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asReadOnlyBuffer()">asReadOnlyBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asReadOnlyBuffer0()">asReadOnlyBuffer0</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this method to return the unexpandable read only version of
 this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.ShortBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#asShortBuffer()">asShortBuffer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#buf(java.nio.ByteBuffer)">buf</A></B>(java.nio.ByteBuffer&nbsp;newBuf)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the underlying NIO buffer instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#capacity()">capacity</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#capacity(int)">capacity</A></B>(int&nbsp;newCapacity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increases the capacity of this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#compact()">compact</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#compareTo(org.apache.mina.core.buffer.IoBuffer)">compareTo</A></B>(<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A>&nbsp;that)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#duplicate()">duplicate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#duplicate0()">duplicate0</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this method to return the unexpandable duplicate of this
 buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;o)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#expand(int)">expand</A></B>(int&nbsp;expectedRemaining)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the capacity and limit of this buffer so this buffer get the
 specified <tt>expectedRemaining</tt> room from the current position.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#expand(int, int)">expand</A></B>(int&nbsp;pos,
       int&nbsp;expectedRemaining)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the capacity and limit of this buffer so this buffer get the
 specified <tt>expectedRemaining</tt> room from the specified
 <tt>position</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#fill(byte, int)">fill</A></B>(byte&nbsp;value,
     int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills this buffer with the specified value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#fill(int)">fill</A></B>(int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills this buffer with <code>NUL (0x00)</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#fillAndReset(byte, int)">fillAndReset</A></B>(byte&nbsp;value,
             int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills this buffer with the specified value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#fillAndReset(int)">fillAndReset</A></B>(int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fills this buffer with <code>NUL (0x00)</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#flip()">flip</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#get()">get</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#get(byte[])">get</A></B>(byte[]&nbsp;dst)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#get(byte[], int, int)">get</A></B>(byte[]&nbsp;dst,
    int&nbsp;offset,
    int&nbsp;length)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#get(int)">get</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getChar()">getChar</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getChar(int)">getChar</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getDouble()">getDouble</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getDouble(int)">getDouble</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
E</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnum(java.lang.Class)">getEnum</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a byte from the buffer and returns the correlating enum constant
 defined by the specified enum type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
E</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnum(int, java.lang.Class)">getEnum</A></B>(int&nbsp;index,
        java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a byte from the buffer and returns the correlating enum constant
 defined by the specified enum type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
E</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumInt(java.lang.Class)">getEnumInt</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads an int from the buffer and returns the correlating enum constant
 defined by the specified enum type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
E</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumInt(int, java.lang.Class)">getEnumInt</A></B>(int&nbsp;index,
           java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads an int from the buffer and returns the correlating enum constant
 defined by the specified enum type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSet(java.lang.Class)">getEnumSet</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a byte sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSet(int, java.lang.Class)">getEnumSet</A></B>(int&nbsp;index,
           java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a byte sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSetInt(java.lang.Class)">getEnumSetInt</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads an int sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSetInt(int, java.lang.Class)">getEnumSetInt</A></B>(int&nbsp;index,
              java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads an int sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSetLong(java.lang.Class)">getEnumSetLong</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a long sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSetLong(int, java.lang.Class)">getEnumSetLong</A></B>(int&nbsp;index,
               java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a long sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSetShort(java.lang.Class)">getEnumSetShort</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a short sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
java.util.EnumSet&lt;E&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumSetShort(int, java.lang.Class)">getEnumSetShort</A></B>(int&nbsp;index,
                java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a short sized bit vector and converts it to an <CODE>EnumSet</CODE>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
E</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumShort(java.lang.Class)">getEnumShort</A></B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a short from the buffer and returns the correlating enum constant
 defined by the specified enum type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
E</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getEnumShort(int, java.lang.Class)">getEnumShort</A></B>(int&nbsp;index,
             java.lang.Class&lt;E&gt;&nbsp;enumClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a short from the buffer and returns the correlating enum constant
 defined by the specified enum type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getFloat()">getFloat</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getFloat(int)">getFloat</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getHexDump()">getHexDump</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns hexdump of this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getHexDump(int)">getHexDump</A></B>(int&nbsp;lengthLimit)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return hexdump of this buffer with limited length.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getInt()">getInt</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getInt(int)">getInt</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getLong()">getLong</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getLong(int)">getLong</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getMediumInt()">getMediumInt</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relative <i>get</i> method for reading a medium int value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getMediumInt(int)">getMediumInt</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Absolute <i>get</i> method for reading a medium int value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getObject()">getObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a Java object from the buffer using the context <CODE>ClassLoader</CODE>
 of the current thread.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getObject(java.lang.ClassLoader)">getObject</A></B>(java.lang.ClassLoader&nbsp;classLoader)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a Java object from the buffer using the specified
 <tt>classLoader</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getPrefixedString(java.nio.charset.CharsetDecoder)">getPrefixedString</A></B>(java.nio.charset.CharsetDecoder&nbsp;decoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a string which has a 16-bit length field before the actual encoded
 string, using the specified <code>decoder</code> and returns it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getPrefixedString(int, java.nio.charset.CharsetDecoder)">getPrefixedString</A></B>(int&nbsp;prefixLength,
                  java.nio.charset.CharsetDecoder&nbsp;decoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a string which has a length field before the actual
 encoded string, using the specified <code>decoder</code> and returns it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getShort()">getShort</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getShort(int)">getShort</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getSlice(int)">getSlice</A></B>(int&nbsp;length)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TODO document me.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getSlice(int, int)">getSlice</A></B>(int&nbsp;index,
         int&nbsp;length)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TODO document me.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getString(java.nio.charset.CharsetDecoder)">getString</A></B>(java.nio.charset.CharsetDecoder&nbsp;decoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a <code>NUL</code>-terminated string from this buffer using the
 specified <code>decoder</code> and returns it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getString(int, java.nio.charset.CharsetDecoder)">getString</A></B>(int&nbsp;fieldSize,
          java.nio.charset.CharsetDecoder&nbsp;decoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads a <code>NUL</code>-terminated string from this buffer using the
 specified <code>decoder</code> and returns it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsigned()">getUnsigned</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads one unsigned byte as a short integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsigned(int)">getUnsigned</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads one byte as an unsigned short integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsignedInt()">getUnsignedInt</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads four bytes unsigned integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsignedInt(int)">getUnsignedInt</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads four bytes unsigned integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsignedMediumInt()">getUnsignedMediumInt</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relative <i>get</i> method for reading an unsigned medium int value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsignedMediumInt(int)">getUnsignedMediumInt</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Absolute <i>get</i> method for reading an unsigned medium int value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsignedShort()">getUnsignedShort</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads two bytes unsigned integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#getUnsignedShort(int)">getUnsignedShort</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads two bytes unsigned integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#hashCode()">hashCode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#hasRemaining()">hasRemaining</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#indexOf(byte)">indexOf</A></B>(byte&nbsp;b)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the first occurence position of the specified byte from the
 current position to the current limit.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#isAutoExpand()">isAutoExpand</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if and only if <tt>autoExpand</tt> is turned on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#isAutoShrink()">isAutoShrink</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if and only if <tt>autoShrink</tt> is turned on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#isDerived()">isDerived</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns <tt>true</tt> if and only if this buffer is derived from other
 buffer via <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#duplicate()"><CODE>IoBuffer.duplicate()</CODE></A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#slice()"><CODE>IoBuffer.slice()</CODE></A> or
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asReadOnlyBuffer()"><CODE>IoBuffer.asReadOnlyBuffer()</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#isDirect()">isDirect</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#isReadOnly()">isReadOnly</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#limit()">limit</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#limit(int)">limit</A></B>(int&nbsp;newLimit)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#mark()">mark</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#markValue()">markValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the position of the current mark.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#minimumCapacity()">minimumCapacity</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the minimum capacity of this buffer which is used to determine
 the new capacity of the buffer shrunk by <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#compact()"><CODE>IoBuffer.compact()</CODE></A> and
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#shrink()"><CODE>IoBuffer.shrink()</CODE></A> operation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#minimumCapacity(int)">minimumCapacity</A></B>(int&nbsp;minimumCapacity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the minimum capacity of this buffer which is used to determine the
 new capacity of the buffer shrunk by <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#compact()"><CODE>IoBuffer.compact()</CODE></A> and
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#shrink()"><CODE>IoBuffer.shrink()</CODE></A> operation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.nio.ByteOrder</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#order()">order</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#order(java.nio.ByteOrder)">order</A></B>(java.nio.ByteOrder&nbsp;bo)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#position()">position</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#position(int)">position</A></B>(int&nbsp;newPosition)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#prefixedDataAvailable(int)">prefixedDataAvailable</A></B>(int&nbsp;prefixLength)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if this buffer contains a data which has a data
 length as a prefix and the buffer has remaining data as enough as
 specified in the data length field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#prefixedDataAvailable(int, int)">prefixedDataAvailable</A></B>(int&nbsp;prefixLength,
                      int&nbsp;maxDataLength)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if this buffer contains a data which has a data
 length as a prefix and the buffer has remaining data as enough as
 specified in the data length field.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#put(byte)">put</A></B>(byte&nbsp;b)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#put(byte[])">put</A></B>(byte[]&nbsp;src)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#put(byte[], int, int)">put</A></B>(byte[]&nbsp;src,
    int&nbsp;offset,
    int&nbsp;length)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#put(java.nio.ByteBuffer)">put</A></B>(java.nio.ByteBuffer&nbsp;src)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of the specified <tt>src</tt> into this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#put(int, byte)">put</A></B>(int&nbsp;index,
    byte&nbsp;b)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#put(org.apache.mina.core.buffer.IoBuffer)">put</A></B>(<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A>&nbsp;src)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of the specified <tt>src</tt> into this buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putChar(char)">putChar</A></B>(char&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putChar(int, char)">putChar</A></B>(int&nbsp;index,
        char&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putDouble(double)">putDouble</A></B>(double&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putDouble(int, double)">putDouble</A></B>(int&nbsp;index,
          double&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnum(java.lang.Enum)">putEnum</A></B>(java.lang.Enum&lt;?&gt;&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an enum's ordinal value to the buffer as a byte.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnum(int, java.lang.Enum)">putEnum</A></B>(int&nbsp;index,
        java.lang.Enum&lt;?&gt;&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an enum's ordinal value to the buffer as a byte.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumInt(java.lang.Enum)">putEnumInt</A></B>(java.lang.Enum&lt;?&gt;&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an enum's ordinal value to the buffer as an integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumInt(int, java.lang.Enum)">putEnumInt</A></B>(int&nbsp;index,
           java.lang.Enum&lt;?&gt;&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an enum's ordinal value to the buffer as an integer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSet(int, java.util.Set)">putEnumSet</A></B>(int&nbsp;index,
           java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as a byte sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSet(java.util.Set)">putEnumSet</A></B>(java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as a byte sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSetInt(int, java.util.Set)">putEnumSetInt</A></B>(int&nbsp;index,
              java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as an int sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSetInt(java.util.Set)">putEnumSetInt</A></B>(java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as an int sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSetLong(int, java.util.Set)">putEnumSetLong</A></B>(int&nbsp;index,
               java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as a long sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSetLong(java.util.Set)">putEnumSetLong</A></B>(java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as a long sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSetShort(int, java.util.Set)">putEnumSetShort</A></B>(int&nbsp;index,
                java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as a short sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
<BR>
<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumSetShort(java.util.Set)">putEnumSetShort</A></B>(java.util.Set&lt;E&gt;&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified <CODE>Set</CODE> to the buffer as a short sized bit
 vector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumShort(java.lang.Enum)">putEnumShort</A></B>(java.lang.Enum&lt;?&gt;&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an enum's ordinal value to the buffer as a short.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putEnumShort(int, java.lang.Enum)">putEnumShort</A></B>(int&nbsp;index,
             java.lang.Enum&lt;?&gt;&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an enum's ordinal value to the buffer as a short.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putFloat(float)">putFloat</A></B>(float&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putFloat(int, float)">putFloat</A></B>(int&nbsp;index,
         float&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putInt(int)">putInt</A></B>(int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putInt(int, int)">putInt</A></B>(int&nbsp;index,
       int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putLong(int, long)">putLong</A></B>(int&nbsp;index,
        long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putLong(long)">putLong</A></B>(long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putMediumInt(int)">putMediumInt</A></B>(int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relative <i>put</i> method for writing a medium int value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putMediumInt(int, int)">putMediumInt</A></B>(int&nbsp;index,
             int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Absolute <i>put</i> method for writing a medium int value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putObject(java.lang.Object)">putObject</A></B>(java.lang.Object&nbsp;o)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified Java object to the buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putPrefixedString(java.lang.CharSequence, java.nio.charset.CharsetEncoder)">putPrefixedString</A></B>(java.lang.CharSequence&nbsp;in,
                  java.nio.charset.CharsetEncoder&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putPrefixedString(java.lang.CharSequence, int, java.nio.charset.CharsetEncoder)">putPrefixedString</A></B>(java.lang.CharSequence&nbsp;in,
                  int&nbsp;prefixLength,
                  java.nio.charset.CharsetEncoder&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putPrefixedString(java.lang.CharSequence, int, int, byte, java.nio.charset.CharsetEncoder)">putPrefixedString</A></B>(java.lang.CharSequence&nbsp;val,
                  int&nbsp;prefixLength,
                  int&nbsp;padding,
                  byte&nbsp;padValue,
                  java.nio.charset.CharsetEncoder&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putPrefixedString(java.lang.CharSequence, int, int, java.nio.charset.CharsetEncoder)">putPrefixedString</A></B>(java.lang.CharSequence&nbsp;in,
                  int&nbsp;prefixLength,
                  int&nbsp;padding,
                  java.nio.charset.CharsetEncoder&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putShort(int, short)">putShort</A></B>(int&nbsp;index,
         short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putShort(short)">putShort</A></B>(short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putString(java.lang.CharSequence, java.nio.charset.CharsetEncoder)">putString</A></B>(java.lang.CharSequence&nbsp;val,
          java.nio.charset.CharsetEncoder&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of <code>in</code> into this buffer using the
 specified <code>encoder</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putString(java.lang.CharSequence, int, java.nio.charset.CharsetEncoder)">putString</A></B>(java.lang.CharSequence&nbsp;val,
          int&nbsp;fieldSize,
          java.nio.charset.CharsetEncoder&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the content of <code>in</code> into this buffer as a
 <code>NUL</code>-terminated string using the specified
 <code>encoder</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(byte)">putUnsigned</A></B>(byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(int)">putUnsigned</A></B>(int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(int, byte)">putUnsigned</A></B>(int&nbsp;index,
            byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(int, int)">putUnsigned</A></B>(int&nbsp;index,
            int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(int, long)">putUnsigned</A></B>(int&nbsp;index,
            long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(int, short)">putUnsigned</A></B>(int&nbsp;index,
            short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(long)">putUnsigned</A></B>(long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsigned(short)">putUnsigned</A></B>(short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned byte into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(byte)">putUnsignedInt</A></B>(byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(int)">putUnsignedInt</A></B>(int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(int, byte)">putUnsignedInt</A></B>(int&nbsp;index,
               byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(int, int)">putUnsignedInt</A></B>(int&nbsp;index,
               int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(int, long)">putUnsignedInt</A></B>(int&nbsp;index,
               long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(int, short)">putUnsignedInt</A></B>(int&nbsp;index,
               short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(long)">putUnsignedInt</A></B>(long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedInt(short)">putUnsignedInt</A></B>(short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned int into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(byte)">putUnsignedShort</A></B>(byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned short into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(int)">putUnsignedShort</A></B>(int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(int, byte)">putUnsignedShort</A></B>(int&nbsp;index,
                 byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(int, int)">putUnsignedShort</A></B>(int&nbsp;index,
                 int&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(int, long)">putUnsignedShort</A></B>(int&nbsp;index,
                 long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(int, short)">putUnsignedShort</A></B>(int&nbsp;index,
                 short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer at a specified position</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(long)">putUnsignedShort</A></B>(long&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#putUnsignedShort(short)">putUnsignedShort</A></B>(short&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an unsigned Short into the ByteBuffer</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#remaining()">remaining</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#reset()">reset</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#rewind()">rewind</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#setAutoExpand(boolean)">setAutoExpand</A></B>(boolean&nbsp;autoExpand)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Turns on or off <tt>autoExpand</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#setAutoShrink(boolean)">setAutoShrink</A></B>(boolean&nbsp;autoShrink)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Turns on or off <tt>autoShrink</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#shrink()">shrink</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the capacity of this buffer so this buffer occupies as less
 memory as possible while retaining the position, limit and the buffer
 content between the position and limit.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#skip(int)">skip</A></B>(int&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forwards the position of this buffer as the specified <code>size</code>
 bytes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#slice()">slice</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#slice0()">slice0</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implement this method to return the unexpandable slice of this
 buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#sweep()">sweep</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears this buffer and fills its content with <tt>NUL</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#sweep(byte)">sweep</A></B>(byte&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double Clears this buffer and fills its content with <tt>value</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.mina.core.buffer.IoBuffer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.mina.core.buffer.<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#allocate(int)">allocate</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#allocate(int, boolean)">allocate</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#array()">array</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#arrayOffset()">arrayOffset</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#buf()">buf</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#free()">free</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getAllocator()">getAllocator</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#hasArray()">hasArray</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#isUseDirectBuffer()">isUseDirectBuffer</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#normalizeCapacity(int)">normalizeCapacity</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#setAllocator(org.apache.mina.core.buffer.IoBufferAllocator)">setAllocator</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#setUseDirectBuffer(boolean)">setUseDirectBuffer</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#wrap(byte[])">wrap</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#wrap(byte[], int, int)">wrap</A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#wrap(java.nio.ByteBuffer)">wrap</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="AbstractIoBuffer(org.apache.mina.core.buffer.IoBufferAllocator, int)"><!-- --></A><H3>
AbstractIoBuffer</H3>
<PRE>
protected <B>AbstractIoBuffer</B>(<A HREF="../../../../../org/apache/mina/core/buffer/IoBufferAllocator.html" title="interface in org.apache.mina.core.buffer">IoBufferAllocator</A>&nbsp;allocator,
                           int&nbsp;initialCapacity)</PRE>
<DL>
<DD>Creates a new parent buffer.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>allocator</CODE> - The allocator to use to create new buffers<DD><CODE>initialCapacity</CODE> - The initial buffer capacity when created</DL>
</DL>
<HR>

<A NAME="AbstractIoBuffer(org.apache.mina.core.buffer.AbstractIoBuffer)"><!-- --></A><H3>
AbstractIoBuffer</H3>
<PRE>
protected <B>AbstractIoBuffer</B>(<A HREF="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html" title="class in org.apache.mina.core.buffer">AbstractIoBuffer</A>&nbsp;parent)</PRE>
<DL>
<DD>Creates a new derived buffer. A derived buffer uses an existing
 buffer properties - the allocator and capacity -.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - The buffer we get the properties from</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="isDirect()"><!-- --></A><H3>
isDirect</H3>
<PRE>
public final boolean <B>isDirect</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#isDirect()">isDirect</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.isDirect()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="isReadOnly()"><!-- --></A><H3>
isReadOnly</H3>
<PRE>
public final boolean <B>isReadOnly</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.isReadOnly()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="buf(java.nio.ByteBuffer)"><!-- --></A><H3>
buf</H3>
<PRE>
protected abstract void <B>buf</B>(java.nio.ByteBuffer&nbsp;newBuf)</PRE>
<DL>
<DD>Sets the underlying NIO buffer instance.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newBuf</CODE> - The buffer to store within this IoBuffer</DL>
</DD>
</DL>
<HR>

<A NAME="minimumCapacity()"><!-- --></A><H3>
minimumCapacity</H3>
<PRE>
public final int <B>minimumCapacity</B>()</PRE>
<DL>
<DD>Returns the minimum capacity of this buffer which is used to determine
 the new capacity of the buffer shrunk by <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#compact()"><CODE>IoBuffer.compact()</CODE></A> and
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#shrink()"><CODE>IoBuffer.shrink()</CODE></A> operation. The default value is the initial capacity of
 the buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#minimumCapacity()">minimumCapacity</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="minimumCapacity(int)"><!-- --></A><H3>
minimumCapacity</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>minimumCapacity</B>(int&nbsp;minimumCapacity)</PRE>
<DL>
<DD>Sets the minimum capacity of this buffer which is used to determine the
 new capacity of the buffer shrunk by <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#compact()"><CODE>IoBuffer.compact()</CODE></A> and
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#shrink()"><CODE>IoBuffer.shrink()</CODE></A> operation. The default value is the initial capacity of
 the buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#minimumCapacity(int)">minimumCapacity</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="capacity()"><!-- --></A><H3>
capacity</H3>
<PRE>
public final int <B>capacity</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#capacity()">capacity</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.capacity()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="capacity(int)"><!-- --></A><H3>
capacity</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>capacity</B>(int&nbsp;newCapacity)</PRE>
<DL>
<DD>Increases the capacity of this buffer. If the new capacity is less than
 or equal to the current capacity, this method returns silently. If the
 new capacity is greater than the current capacity, the buffer is
 reallocated while retaining the position, limit, mark and the content of
 the buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#capacity(int)">capacity</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isAutoExpand()"><!-- --></A><H3>
isAutoExpand</H3>
<PRE>
public final boolean <B>isAutoExpand</B>()</PRE>
<DL>
<DD>Returns <tt>true</tt> if and only if <tt>autoExpand</tt> is turned on.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#isAutoExpand()">isAutoExpand</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isAutoShrink()"><!-- --></A><H3>
isAutoShrink</H3>
<PRE>
public final boolean <B>isAutoShrink</B>()</PRE>
<DL>
<DD>Returns <tt>true</tt> if and only if <tt>autoShrink</tt> is turned on.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#isAutoShrink()">isAutoShrink</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isDerived()"><!-- --></A><H3>
isDerived</H3>
<PRE>
public final boolean <B>isDerived</B>()</PRE>
<DL>
<DD>returns <tt>true</tt> if and only if this buffer is derived from other
 buffer via <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#duplicate()"><CODE>IoBuffer.duplicate()</CODE></A>, <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#slice()"><CODE>IoBuffer.slice()</CODE></A> or
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asReadOnlyBuffer()"><CODE>IoBuffer.asReadOnlyBuffer()</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#isDerived()">isDerived</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setAutoExpand(boolean)"><!-- --></A><H3>
setAutoExpand</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>setAutoExpand</B>(boolean&nbsp;autoExpand)</PRE>
<DL>
<DD>Turns on or off <tt>autoExpand</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#setAutoExpand(boolean)">setAutoExpand</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setAutoShrink(boolean)"><!-- --></A><H3>
setAutoShrink</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>setAutoShrink</B>(boolean&nbsp;autoShrink)</PRE>
<DL>
<DD>Turns on or off <tt>autoShrink</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#setAutoShrink(boolean)">setAutoShrink</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="expand(int)"><!-- --></A><H3>
expand</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>expand</B>(int&nbsp;expectedRemaining)</PRE>
<DL>
<DD>Changes the capacity and limit of this buffer so this buffer get the
 specified <tt>expectedRemaining</tt> room from the current position. This
 method works even if you didn't set <tt>autoExpand</tt> to <tt>true</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#expand(int)">expand</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="expand(int, int)"><!-- --></A><H3>
expand</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>expand</B>(int&nbsp;pos,
                             int&nbsp;expectedRemaining)</PRE>
<DL>
<DD>Changes the capacity and limit of this buffer so this buffer get the
 specified <tt>expectedRemaining</tt> room from the specified
 <tt>position</tt>. This method works even if you didn't set
 <tt>autoExpand</tt> to <tt>true</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#expand(int, int)">expand</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="shrink()"><!-- --></A><H3>
shrink</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>shrink</B>()</PRE>
<DL>
<DD>Changes the capacity of this buffer so this buffer occupies as less
 memory as possible while retaining the position, limit and the buffer
 content between the position and limit. The capacity of the buffer never
 becomes less than <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#minimumCapacity()"><CODE>IoBuffer.minimumCapacity()</CODE></A>. The mark is discarded once
 the capacity changes.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#shrink()">shrink</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="position()"><!-- --></A><H3>
position</H3>
<PRE>
public final int <B>position</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#position()">position</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.position()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="position(int)"><!-- --></A><H3>
position</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>position</B>(int&nbsp;newPosition)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#position(int)">position</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.position(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="limit()"><!-- --></A><H3>
limit</H3>
<PRE>
public final int <B>limit</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#limit()">limit</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.limit()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="limit(int)"><!-- --></A><H3>
limit</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>limit</B>(int&nbsp;newLimit)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#limit(int)">limit</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.limit(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="mark()"><!-- --></A><H3>
mark</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>mark</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#mark()">mark</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.mark()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="markValue()"><!-- --></A><H3>
markValue</H3>
<PRE>
public final int <B>markValue</B>()</PRE>
<DL>
<DD>Returns the position of the current mark. This method returns <tt>-1</tt>
 if no mark is set.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#markValue()">markValue</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="reset()"><!-- --></A><H3>
reset</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>reset</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#reset()">reset</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.reset()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>clear</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#clear()">clear</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.clear()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="sweep()"><!-- --></A><H3>
sweep</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>sweep</B>()</PRE>
<DL>
<DD>Clears this buffer and fills its content with <tt>NUL</tt>. The position
 is set to zero, the limit is set to the capacity, and the mark is
 discarded.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#sweep()">sweep</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="sweep(byte)"><!-- --></A><H3>
sweep</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>sweep</B>(byte&nbsp;value)</PRE>
<DL>
<DD>double Clears this buffer and fills its content with <tt>value</tt>. The
 position is set to zero, the limit is set to the capacity, and the mark
 is discarded.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#sweep(byte)">sweep</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="flip()"><!-- --></A><H3>
flip</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>flip</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#flip()">flip</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.flip()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="rewind()"><!-- --></A><H3>
rewind</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>rewind</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#rewind()">rewind</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.rewind()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="remaining()"><!-- --></A><H3>
remaining</H3>
<PRE>
public final int <B>remaining</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#remaining()">remaining</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.remaining()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="hasRemaining()"><!-- --></A><H3>
hasRemaining</H3>
<PRE>
public final boolean <B>hasRemaining</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#hasRemaining()">hasRemaining</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Buffer.hasRemaining()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="get()"><!-- --></A><H3>
get</H3>
<PRE>
public final byte <B>get</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#get()">get</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.get()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getUnsigned()"><!-- --></A><H3>
getUnsigned</H3>
<PRE>
public final short <B>getUnsigned</B>()</PRE>
<DL>
<DD>Reads one unsigned byte as a short integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsigned()">getUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="put(byte)"><!-- --></A><H3>
put</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>put</B>(byte&nbsp;b)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#put(byte)">put</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.put(byte)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(byte)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(byte&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(byte)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the byte to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(int, byte)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(int&nbsp;index,
                            byte&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(int, byte)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the byte to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(short)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(short&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(short)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the short to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(int, short)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(int&nbsp;index,
                            short&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(int, short)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the short to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(int)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(int&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(int)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the int to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(int, int)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(int&nbsp;index,
                            int&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(int, int)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the int to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(long)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(long&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(long)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the long to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsigned(int, long)"><!-- --></A><H3>
putUnsigned</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsigned</B>(int&nbsp;index,
                            long&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned byte into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsigned(int, long)">putUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the long to write</DL>
</DD>
</DL>
<HR>

<A NAME="get(int)"><!-- --></A><H3>
get</H3>
<PRE>
public final byte <B>get</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#get(int)">get</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.get(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getUnsigned(int)"><!-- --></A><H3>
getUnsigned</H3>
<PRE>
public final short <B>getUnsigned</B>(int&nbsp;index)</PRE>
<DL>
<DD>Reads one byte as an unsigned short integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsigned(int)">getUnsigned</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="put(int, byte)"><!-- --></A><H3>
put</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>put</B>(int&nbsp;index,
                          byte&nbsp;b)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#put(int, byte)">put</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.put(int, byte)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="get(byte[], int, int)"><!-- --></A><H3>
get</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>get</B>(byte[]&nbsp;dst,
                          int&nbsp;offset,
                          int&nbsp;length)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#get(byte[], int, int)">get</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.get(byte[], int, int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="put(java.nio.ByteBuffer)"><!-- --></A><H3>
put</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>put</B>(java.nio.ByteBuffer&nbsp;src)</PRE>
<DL>
<DD>Writes the content of the specified <tt>src</tt> into this buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#put(java.nio.ByteBuffer)">put</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="put(byte[], int, int)"><!-- --></A><H3>
put</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>put</B>(byte[]&nbsp;src,
                          int&nbsp;offset,
                          int&nbsp;length)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#put(byte[], int, int)">put</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.put(byte[], int, int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="compact()"><!-- --></A><H3>
compact</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>compact</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#compact()">compact</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.compact()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="order()"><!-- --></A><H3>
order</H3>
<PRE>
public final java.nio.ByteOrder <B>order</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#order()">order</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.order()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="order(java.nio.ByteOrder)"><!-- --></A><H3>
order</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>order</B>(java.nio.ByteOrder&nbsp;bo)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#order(java.nio.ByteOrder)">order</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.order(ByteOrder)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getChar()"><!-- --></A><H3>
getChar</H3>
<PRE>
public final char <B>getChar</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getChar()">getChar</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getChar()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putChar(char)"><!-- --></A><H3>
putChar</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putChar</B>(char&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putChar(char)">putChar</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putChar(char)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getChar(int)"><!-- --></A><H3>
getChar</H3>
<PRE>
public final char <B>getChar</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getChar(int)">getChar</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getChar(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putChar(int, char)"><!-- --></A><H3>
putChar</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putChar</B>(int&nbsp;index,
                              char&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putChar(int, char)">putChar</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putChar(int, char)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asCharBuffer()"><!-- --></A><H3>
asCharBuffer</H3>
<PRE>
public final java.nio.CharBuffer <B>asCharBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asCharBuffer()">asCharBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asCharBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getShort()"><!-- --></A><H3>
getShort</H3>
<PRE>
public final short <B>getShort</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getShort()">getShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getShort()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putShort(short)"><!-- --></A><H3>
putShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putShort</B>(short&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putShort(short)">putShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putShort(short)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getShort(int)"><!-- --></A><H3>
getShort</H3>
<PRE>
public final short <B>getShort</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getShort(int)">getShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getShort()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putShort(int, short)"><!-- --></A><H3>
putShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putShort</B>(int&nbsp;index,
                               short&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putShort(int, short)">putShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putShort(int, short)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asShortBuffer()"><!-- --></A><H3>
asShortBuffer</H3>
<PRE>
public final java.nio.ShortBuffer <B>asShortBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asShortBuffer()">asShortBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asShortBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getInt()"><!-- --></A><H3>
getInt</H3>
<PRE>
public final int <B>getInt</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getInt()">getInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getInt()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putInt(int)"><!-- --></A><H3>
putInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putInt</B>(int&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putInt(int)">putInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putInt(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(byte)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(byte&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(byte)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the byte to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(int, byte)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(int&nbsp;index,
                                     byte&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(int, byte)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the byte to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(short)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(short&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(short)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the short to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(int, short)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(int&nbsp;index,
                                     short&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(int, short)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the short to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(int)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(int&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(int)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the int to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(int, int)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(int&nbsp;index,
                                     int&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(int, int)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the int to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(long)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(long&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(long)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the long to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedInt(int, long)"><!-- --></A><H3>
putUnsignedInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedInt</B>(int&nbsp;index,
                                     long&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned int into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedInt(int, long)">putUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the long to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(byte)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(byte&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned short into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(byte)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the byte to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(int, byte)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(int&nbsp;index,
                                       byte&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(int, byte)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the byte to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(short)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(short&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(short)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the short to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(int, short)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(int&nbsp;index,
                                       short&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(int, short)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the short to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(int)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(int&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(int)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the int to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(int, int)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(int&nbsp;index,
                                       int&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(int, int)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the int to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(long)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(long&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(long)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the long to write</DL>
</DD>
</DL>
<HR>

<A NAME="putUnsignedShort(int, long)"><!-- --></A><H3>
putUnsignedShort</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putUnsignedShort</B>(int&nbsp;index,
                                       long&nbsp;value)</PRE>
<DL>
<DD>Writes an unsigned Short into the ByteBuffer at a specified position
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putUnsignedShort(int, long)">putUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value<DD><CODE>value</CODE> - the long to write</DL>
</DD>
</DL>
<HR>

<A NAME="getInt(int)"><!-- --></A><H3>
getInt</H3>
<PRE>
public final int <B>getInt</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getInt(int)">getInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getInt(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putInt(int, int)"><!-- --></A><H3>
putInt</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putInt</B>(int&nbsp;index,
                             int&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putInt(int, int)">putInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putInt(int, int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asIntBuffer()"><!-- --></A><H3>
asIntBuffer</H3>
<PRE>
public final java.nio.IntBuffer <B>asIntBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asIntBuffer()">asIntBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asIntBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getLong()"><!-- --></A><H3>
getLong</H3>
<PRE>
public final long <B>getLong</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getLong()">getLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getLong()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putLong(long)"><!-- --></A><H3>
putLong</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putLong</B>(long&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putLong(long)">putLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putLong(int, long)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getLong(int)"><!-- --></A><H3>
getLong</H3>
<PRE>
public final long <B>getLong</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getLong(int)">getLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getLong(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putLong(int, long)"><!-- --></A><H3>
putLong</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putLong</B>(int&nbsp;index,
                              long&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putLong(int, long)">putLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putLong(int, long)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asLongBuffer()"><!-- --></A><H3>
asLongBuffer</H3>
<PRE>
public final java.nio.LongBuffer <B>asLongBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asLongBuffer()">asLongBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asLongBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getFloat()"><!-- --></A><H3>
getFloat</H3>
<PRE>
public final float <B>getFloat</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getFloat()">getFloat</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getFloat()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putFloat(float)"><!-- --></A><H3>
putFloat</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putFloat</B>(float&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putFloat(float)">putFloat</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putFloat(float)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getFloat(int)"><!-- --></A><H3>
getFloat</H3>
<PRE>
public final float <B>getFloat</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getFloat(int)">getFloat</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getFloat(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putFloat(int, float)"><!-- --></A><H3>
putFloat</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putFloat</B>(int&nbsp;index,
                               float&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putFloat(int, float)">putFloat</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putFloat(int, float)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asFloatBuffer()"><!-- --></A><H3>
asFloatBuffer</H3>
<PRE>
public final java.nio.FloatBuffer <B>asFloatBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asFloatBuffer()">asFloatBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asFloatBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getDouble()"><!-- --></A><H3>
getDouble</H3>
<PRE>
public final double <B>getDouble</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getDouble()">getDouble</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getDouble()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putDouble(double)"><!-- --></A><H3>
putDouble</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putDouble</B>(double&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putDouble(double)">putDouble</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putDouble(double)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getDouble(int)"><!-- --></A><H3>
getDouble</H3>
<PRE>
public final double <B>getDouble</B>(int&nbsp;index)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getDouble(int)">getDouble</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.getDouble(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putDouble(int, double)"><!-- --></A><H3>
putDouble</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putDouble</B>(int&nbsp;index,
                                double&nbsp;value)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putDouble(int, double)">putDouble</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.putDouble(int, double)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asDoubleBuffer()"><!-- --></A><H3>
asDoubleBuffer</H3>
<PRE>
public final java.nio.DoubleBuffer <B>asDoubleBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asDoubleBuffer()">asDoubleBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asDoubleBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asReadOnlyBuffer()"><!-- --></A><H3>
asReadOnlyBuffer</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>asReadOnlyBuffer</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asReadOnlyBuffer()">asReadOnlyBuffer</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.asReadOnlyBuffer()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="asReadOnlyBuffer0()"><!-- --></A><H3>
asReadOnlyBuffer0</H3>
<PRE>
protected abstract <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>asReadOnlyBuffer0</B>()</PRE>
<DL>
<DD>Implement this method to return the unexpandable read only version of
 this buffer.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="duplicate()"><!-- --></A><H3>
duplicate</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>duplicate</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#duplicate()">duplicate</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.duplicate()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="duplicate0()"><!-- --></A><H3>
duplicate0</H3>
<PRE>
protected abstract <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>duplicate0</B>()</PRE>
<DL>
<DD>Implement this method to return the unexpandable duplicate of this
 buffer.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="slice()"><!-- --></A><H3>
slice</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>slice</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#slice()">slice</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.slice()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getSlice(int, int)"><!-- --></A><H3>
getSlice</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>getSlice</B>(int&nbsp;index,
                               int&nbsp;length)</PRE>
<DL>
<DD>TODO document me.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getSlice(int, int)">getSlice</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSlice(int)"><!-- --></A><H3>
getSlice</H3>
<PRE>
public final <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>getSlice</B>(int&nbsp;length)</PRE>
<DL>
<DD>TODO document me.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getSlice(int)">getSlice</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="slice0()"><!-- --></A><H3>
slice0</H3>
<PRE>
protected abstract <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>slice0</B>()</PRE>
<DL>
<DD>Implement this method to return the unexpandable slice of this
 buffer.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="hashCode()"><!-- --></A><H3>
hashCode</H3>
<PRE>
public int <B>hashCode</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>hashCode</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;o)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>equals</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="compareTo(org.apache.mina.core.buffer.IoBuffer)"><!-- --></A><H3>
compareTo</H3>
<PRE>
public int <B>compareTo</B>(<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A>&nbsp;that)</PRE>
<DL>
<DD>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="get(byte[])"><!-- --></A><H3>
get</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>get</B>(byte[]&nbsp;dst)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#get(byte[])">get</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.get(byte[])</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="put(org.apache.mina.core.buffer.IoBuffer)"><!-- --></A><H3>
put</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>put</B>(<A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A>&nbsp;src)</PRE>
<DL>
<DD>Writes the content of the specified <tt>src</tt> into this buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#put(org.apache.mina.core.buffer.IoBuffer)">put</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="put(byte[])"><!-- --></A><H3>
put</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>put</B>(byte[]&nbsp;src)</PRE>
<DL>
<DD>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#put(byte[])">put</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>ByteBuffer.put(byte[])</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getUnsignedShort()"><!-- --></A><H3>
getUnsignedShort</H3>
<PRE>
public int <B>getUnsignedShort</B>()</PRE>
<DL>
<DD>Reads two bytes unsigned integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsignedShort()">getUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUnsignedShort(int)"><!-- --></A><H3>
getUnsignedShort</H3>
<PRE>
public int <B>getUnsignedShort</B>(int&nbsp;index)</PRE>
<DL>
<DD>Reads two bytes unsigned integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsignedShort(int)">getUnsignedShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUnsignedInt()"><!-- --></A><H3>
getUnsignedInt</H3>
<PRE>
public long <B>getUnsignedInt</B>()</PRE>
<DL>
<DD>Reads four bytes unsigned integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsignedInt()">getUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMediumInt()"><!-- --></A><H3>
getMediumInt</H3>
<PRE>
public int <B>getMediumInt</B>()</PRE>
<DL>
<DD>Relative <i>get</i> method for reading a medium int value.
 
 <p>
 Reads the next three bytes at this buffer's current position, composing
 them into an int value according to the current byte order, and then
 increments the position by three.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getMediumInt()">getMediumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The medium int value at the buffer's current position</DL>
</DD>
</DL>
<HR>

<A NAME="getUnsignedMediumInt()"><!-- --></A><H3>
getUnsignedMediumInt</H3>
<PRE>
public int <B>getUnsignedMediumInt</B>()</PRE>
<DL>
<DD>Relative <i>get</i> method for reading an unsigned medium int value.
 
 <p>
 Reads the next three bytes at this buffer's current position, composing
 them into an int value according to the current byte order, and then
 increments the position by three.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsignedMediumInt()">getUnsignedMediumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The unsigned medium int value at the buffer's current position</DL>
</DD>
</DL>
<HR>

<A NAME="getMediumInt(int)"><!-- --></A><H3>
getMediumInt</H3>
<PRE>
public int <B>getMediumInt</B>(int&nbsp;index)</PRE>
<DL>
<DD>Absolute <i>get</i> method for reading a medium int value.
 
 <p>
 Reads the next three bytes at this buffer's current position, composing
 them into an int value according to the current byte order.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getMediumInt(int)">getMediumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index from which the medium int will be read
<DT><B>Returns:</B><DD>The medium int value at the given index</DL>
</DD>
</DL>
<HR>

<A NAME="getUnsignedMediumInt(int)"><!-- --></A><H3>
getUnsignedMediumInt</H3>
<PRE>
public int <B>getUnsignedMediumInt</B>(int&nbsp;index)</PRE>
<DL>
<DD>Absolute <i>get</i> method for reading an unsigned medium int value.
 
 <p>
 Reads the next three bytes at this buffer's current position, composing
 them into an int value according to the current byte order.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsignedMediumInt(int)">getUnsignedMediumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index from which the unsigned medium int will be read
<DT><B>Returns:</B><DD>The unsigned medium int value at the given index</DL>
</DD>
</DL>
<HR>

<A NAME="putMediumInt(int)"><!-- --></A><H3>
putMediumInt</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putMediumInt</B>(int&nbsp;value)</PRE>
<DL>
<DD>Relative <i>put</i> method for writing a medium int value.
 
 <p>
 Writes three bytes containing the given int value, in the current byte
 order, into this buffer at the current position, and then increments the
 position by three.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putMediumInt(int)">putMediumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - The medium int value to be written
<DT><B>Returns:</B><DD>This buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putMediumInt(int, int)"><!-- --></A><H3>
putMediumInt</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putMediumInt</B>(int&nbsp;index,
                             int&nbsp;value)</PRE>
<DL>
<DD>Absolute <i>put</i> method for writing a medium int value.
 
 <p>
 Writes three bytes containing the given int value, in the current byte
 order, into this buffer at the given index.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putMediumInt(int, int)">putMediumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index at which the bytes will be written<DD><CODE>value</CODE> - The medium int value to be written
<DT><B>Returns:</B><DD>This buffer</DL>
</DD>
</DL>
<HR>

<A NAME="getUnsignedInt(int)"><!-- --></A><H3>
getUnsignedInt</H3>
<PRE>
public long <B>getUnsignedInt</B>(int&nbsp;index)</PRE>
<DL>
<DD>Reads four bytes unsigned integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getUnsignedInt(int)">getUnsignedInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the position in the buffer to write the value</DL>
</DD>
</DL>
<HR>

<A NAME="asInputStream()"><!-- --></A><H3>
asInputStream</H3>
<PRE>
public java.io.InputStream <B>asInputStream</B>()</PRE>
<DL>
<DD>Returns an <CODE>InputStream</CODE> that reads the data from this buffer.
 <CODE>InputStream.read()</CODE> returns <tt>-1</tt> if the buffer position
 reaches to the limit.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asInputStream()">asInputStream</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="asOutputStream()"><!-- --></A><H3>
asOutputStream</H3>
<PRE>
public java.io.OutputStream <B>asOutputStream</B>()</PRE>
<DL>
<DD>Returns an <CODE>OutputStream</CODE> that appends the data into this buffer.
 Please note that the <CODE>OutputStream.write(int)</CODE> will throw a
 <CODE>BufferOverflowException</CODE> instead of an <CODE>IOException</CODE> in case
 of buffer overflow. Please set <tt>autoExpand</tt> property by calling
 <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#setAutoExpand(boolean)"><CODE>IoBuffer.setAutoExpand(boolean)</CODE></A> to prevent the unexpected runtime
 exception.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#asOutputStream()">asOutputStream</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getHexDump()"><!-- --></A><H3>
getHexDump</H3>
<PRE>
public java.lang.String <B>getHexDump</B>()</PRE>
<DL>
<DD>Returns hexdump of this buffer. The data and pointer are not changed as a
 result of this method call.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getHexDump()">getHexDump</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>hexidecimal representation of this buffer</DL>
</DD>
</DL>
<HR>

<A NAME="getHexDump(int)"><!-- --></A><H3>
getHexDump</H3>
<PRE>
public java.lang.String <B>getHexDump</B>(int&nbsp;lengthLimit)</PRE>
<DL>
<DD>Return hexdump of this buffer with limited length.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getHexDump(int)">getHexDump</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>lengthLimit</CODE> - The maximum number of bytes to dump from the current buffer
            position.
<DT><B>Returns:</B><DD>hexidecimal representation of this buffer</DL>
</DD>
</DL>
<HR>

<A NAME="getString(java.nio.charset.CharsetDecoder)"><!-- --></A><H3>
getString</H3>
<PRE>
public java.lang.String <B>getString</B>(java.nio.charset.CharsetDecoder&nbsp;decoder)
                           throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Reads a <code>NUL</code>-terminated string from this buffer using the
 specified <code>decoder</code> and returns it. This method reads until
 the limit of this buffer if no <tt>NUL</tt> is found.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getString(java.nio.charset.CharsetDecoder)">getString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getString(int, java.nio.charset.CharsetDecoder)"><!-- --></A><H3>
getString</H3>
<PRE>
public java.lang.String <B>getString</B>(int&nbsp;fieldSize,
                                  java.nio.charset.CharsetDecoder&nbsp;decoder)
                           throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Reads a <code>NUL</code>-terminated string from this buffer using the
 specified <code>decoder</code> and returns it.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getString(int, java.nio.charset.CharsetDecoder)">getString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fieldSize</CODE> - the maximum number of bytes to read
<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putString(java.lang.CharSequence, java.nio.charset.CharsetEncoder)"><!-- --></A><H3>
putString</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putString</B>(java.lang.CharSequence&nbsp;val,
                          java.nio.charset.CharsetEncoder&nbsp;encoder)
                   throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Writes the content of <code>in</code> into this buffer using the
 specified <code>encoder</code>. This method doesn't terminate string with
 <tt>NUL</tt>. You have to do it by yourself.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putString(java.lang.CharSequence, java.nio.charset.CharsetEncoder)">putString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putString(java.lang.CharSequence, int, java.nio.charset.CharsetEncoder)"><!-- --></A><H3>
putString</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putString</B>(java.lang.CharSequence&nbsp;val,
                          int&nbsp;fieldSize,
                          java.nio.charset.CharsetEncoder&nbsp;encoder)
                   throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Writes the content of <code>in</code> into this buffer as a
 <code>NUL</code>-terminated string using the specified
 <code>encoder</code>.
 <p>
 If the charset name of the encoder is UTF-16, you cannot specify odd
 <code>fieldSize</code>, and this method will append two <code>NUL</code>s
 as a terminator.
 <p>
 Please note that this method doesn't terminate with <code>NUL</code> if
 the input string is longer than <tt>fieldSize</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putString(java.lang.CharSequence, int, java.nio.charset.CharsetEncoder)">putString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>fieldSize</CODE> - the maximum number of bytes to write
<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getPrefixedString(java.nio.charset.CharsetDecoder)"><!-- --></A><H3>
getPrefixedString</H3>
<PRE>
public java.lang.String <B>getPrefixedString</B>(java.nio.charset.CharsetDecoder&nbsp;decoder)
                                   throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Reads a string which has a 16-bit length field before the actual encoded
 string, using the specified <code>decoder</code> and returns it. This
 method is a shortcut for <tt>getPrefixedString(2, decoder)</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getPrefixedString(java.nio.charset.CharsetDecoder)">getPrefixedString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getPrefixedString(int, java.nio.charset.CharsetDecoder)"><!-- --></A><H3>
getPrefixedString</H3>
<PRE>
public java.lang.String <B>getPrefixedString</B>(int&nbsp;prefixLength,
                                          java.nio.charset.CharsetDecoder&nbsp;decoder)
                                   throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Reads a string which has a length field before the actual
 encoded string, using the specified <code>decoder</code> and returns it.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getPrefixedString(int, java.nio.charset.CharsetDecoder)">getPrefixedString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefixLength</CODE> - the length of the length field (1, 2, or 4)<DD><CODE>decoder</CODE> - the decoder to use for decoding the string
<DT><B>Returns:</B><DD>the prefixed string
<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE> - when decoding fails
<DD><CODE>java.nio.BufferUnderflowException</CODE> - when there is not enough data available</DL>
</DD>
</DL>
<HR>

<A NAME="putPrefixedString(java.lang.CharSequence, java.nio.charset.CharsetEncoder)"><!-- --></A><H3>
putPrefixedString</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putPrefixedString</B>(java.lang.CharSequence&nbsp;in,
                                  java.nio.charset.CharsetEncoder&nbsp;encoder)
                           throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>. This method is a shortcut for
 <tt>putPrefixedString(in, 2, 0, encoder)</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putPrefixedString(java.lang.CharSequence, java.nio.charset.CharsetEncoder)">putPrefixedString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putPrefixedString(java.lang.CharSequence, int, java.nio.charset.CharsetEncoder)"><!-- --></A><H3>
putPrefixedString</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putPrefixedString</B>(java.lang.CharSequence&nbsp;in,
                                  int&nbsp;prefixLength,
                                  java.nio.charset.CharsetEncoder&nbsp;encoder)
                           throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>. This method is a shortcut for
 <tt>putPrefixedString(in, prefixLength, 0, encoder)</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putPrefixedString(java.lang.CharSequence, int, java.nio.charset.CharsetEncoder)">putPrefixedString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>prefixLength</CODE> - the length of the length field (1, 2, or 4)
<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putPrefixedString(java.lang.CharSequence, int, int, java.nio.charset.CharsetEncoder)"><!-- --></A><H3>
putPrefixedString</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putPrefixedString</B>(java.lang.CharSequence&nbsp;in,
                                  int&nbsp;prefixLength,
                                  int&nbsp;padding,
                                  java.nio.charset.CharsetEncoder&nbsp;encoder)
                           throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>. This method is a shortcut for
 <tt>putPrefixedString(in, prefixLength, padding, ( byte ) 0, encoder)</tt>
 .
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putPrefixedString(java.lang.CharSequence, int, int, java.nio.charset.CharsetEncoder)">putPrefixedString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>prefixLength</CODE> - the length of the length field (1, 2, or 4)<DD><CODE>padding</CODE> - the number of padded <tt>NUL</tt>s (1 (or 0), 2, or 4)
<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putPrefixedString(java.lang.CharSequence, int, int, byte, java.nio.charset.CharsetEncoder)"><!-- --></A><H3>
putPrefixedString</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putPrefixedString</B>(java.lang.CharSequence&nbsp;val,
                                  int&nbsp;prefixLength,
                                  int&nbsp;padding,
                                  byte&nbsp;padValue,
                                  java.nio.charset.CharsetEncoder&nbsp;encoder)
                           throws java.nio.charset.CharacterCodingException</PRE>
<DL>
<DD>Writes the content of <code>in</code> into this buffer as a string which
 has a 16-bit length field before the actual encoded string, using the
 specified <code>encoder</code>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putPrefixedString(java.lang.CharSequence, int, int, byte, java.nio.charset.CharsetEncoder)">putPrefixedString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>prefixLength</CODE> - the length of the length field (1, 2, or 4)<DD><CODE>padding</CODE> - the number of padded bytes (1 (or 0), 2, or 4)<DD><CODE>padValue</CODE> - the value of padded bytes
<DT><B>Throws:</B>
<DD><CODE>java.nio.charset.CharacterCodingException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getObject()"><!-- --></A><H3>
getObject</H3>
<PRE>
public java.lang.Object <B>getObject</B>()
                           throws java.lang.ClassNotFoundException</PRE>
<DL>
<DD>Reads a Java object from the buffer using the context <CODE>ClassLoader</CODE>
 of the current thread.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getObject()">getObject</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.ClassNotFoundException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getObject(java.lang.ClassLoader)"><!-- --></A><H3>
getObject</H3>
<PRE>
public java.lang.Object <B>getObject</B>(java.lang.ClassLoader&nbsp;classLoader)
                           throws java.lang.ClassNotFoundException</PRE>
<DL>
<DD>Reads a Java object from the buffer using the specified
 <tt>classLoader</tt>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getObject(java.lang.ClassLoader)">getObject</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.ClassNotFoundException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="putObject(java.lang.Object)"><!-- --></A><H3>
putObject</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putObject</B>(java.lang.Object&nbsp;o)</PRE>
<DL>
<DD>Writes the specified Java object to the buffer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putObject(java.lang.Object)">putObject</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="prefixedDataAvailable(int)"><!-- --></A><H3>
prefixedDataAvailable</H3>
<PRE>
public boolean <B>prefixedDataAvailable</B>(int&nbsp;prefixLength)</PRE>
<DL>
<DD>Returns <tt>true</tt> if this buffer contains a data which has a data
 length as a prefix and the buffer has remaining data as enough as
 specified in the data length field. This method is identical with
 <tt>prefixedDataAvailable( prefixLength, Integer.MAX_VALUE )</tt>. Please
 not that using this method can allow DoS (Denial of Service) attack in
 case the remote peer sends too big data length value. It is recommended
 to use <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#prefixedDataAvailable(int, int)"><CODE>IoBuffer.prefixedDataAvailable(int, int)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#prefixedDataAvailable(int)">prefixedDataAvailable</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefixLength</CODE> - the length of the prefix field (1, 2, or 4)</DL>
</DD>
</DL>
<HR>

<A NAME="prefixedDataAvailable(int, int)"><!-- --></A><H3>
prefixedDataAvailable</H3>
<PRE>
public boolean <B>prefixedDataAvailable</B>(int&nbsp;prefixLength,
                                     int&nbsp;maxDataLength)</PRE>
<DL>
<DD>Returns <tt>true</tt> if this buffer contains a data which has a data
 length as a prefix and the buffer has remaining data as enough as
 specified in the data length field.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#prefixedDataAvailable(int, int)">prefixedDataAvailable</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefixLength</CODE> - the length of the prefix field (1, 2, or 4)<DD><CODE>maxDataLength</CODE> - the allowed maximum of the read data length</DL>
</DD>
</DL>
<HR>

<A NAME="indexOf(byte)"><!-- --></A><H3>
indexOf</H3>
<PRE>
public int <B>indexOf</B>(byte&nbsp;b)</PRE>
<DL>
<DD>Returns the first occurence position of the specified byte from the
 current position to the current limit.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#indexOf(byte)">indexOf</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD><tt>-1</tt> if the specified byte is not found</DL>
</DD>
</DL>
<HR>

<A NAME="skip(int)"><!-- --></A><H3>
skip</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>skip</B>(int&nbsp;size)</PRE>
<DL>
<DD>Forwards the position of this buffer as the specified <code>size</code>
 bytes.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#skip(int)">skip</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fill(byte, int)"><!-- --></A><H3>
fill</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>fill</B>(byte&nbsp;value,
                     int&nbsp;size)</PRE>
<DL>
<DD>Fills this buffer with the specified value. This method moves buffer
 position forward.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#fill(byte, int)">fill</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fillAndReset(byte, int)"><!-- --></A><H3>
fillAndReset</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>fillAndReset</B>(byte&nbsp;value,
                             int&nbsp;size)</PRE>
<DL>
<DD>Fills this buffer with the specified value. This method does not change
 buffer position.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#fillAndReset(byte, int)">fillAndReset</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fill(int)"><!-- --></A><H3>
fill</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>fill</B>(int&nbsp;size)</PRE>
<DL>
<DD>Fills this buffer with <code>NUL (0x00)</code>. This method moves buffer
 position forward.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#fill(int)">fill</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fillAndReset(int)"><!-- --></A><H3>
fillAndReset</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>fillAndReset</B>(int&nbsp;size)</PRE>
<DL>
<DD>Fills this buffer with <code>NUL (0x00)</code>. This method does not
 change buffer position.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#fillAndReset(int)">fillAndReset</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getEnum(java.lang.Class)"><!-- --></A><H3>
getEnum</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; E <B>getEnum</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a byte from the buffer and returns the correlating enum constant
 defined by the specified enum type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnum(java.lang.Class)">getEnum</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - The enum type to return<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - The enum's class object</DL>
</DD>
</DL>
<HR>

<A NAME="getEnum(int, java.lang.Class)"><!-- --></A><H3>
getEnum</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; E <B>getEnum</B>(int&nbsp;index,
                                               java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a byte from the buffer and returns the correlating enum constant
 defined by the specified enum type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnum(int, java.lang.Class)">getEnum</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - The enum type to return<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the byte will be read<DD><CODE>enumClass</CODE> - The enum's class object</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumShort(java.lang.Class)"><!-- --></A><H3>
getEnumShort</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; E <B>getEnumShort</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a short from the buffer and returns the correlating enum constant
 defined by the specified enum type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumShort(java.lang.Class)">getEnumShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - The enum type to return<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - The enum's class object</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumShort(int, java.lang.Class)"><!-- --></A><H3>
getEnumShort</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; E <B>getEnumShort</B>(int&nbsp;index,
                                                    java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a short from the buffer and returns the correlating enum constant
 defined by the specified enum type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumShort(int, java.lang.Class)">getEnumShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - The enum type to return<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the bytes will be read<DD><CODE>enumClass</CODE> - The enum's class object</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumInt(java.lang.Class)"><!-- --></A><H3>
getEnumInt</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; E <B>getEnumInt</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads an int from the buffer and returns the correlating enum constant
 defined by the specified enum type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumInt(java.lang.Class)">getEnumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - The enum type to return<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - The enum's class object</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumInt(int, java.lang.Class)"><!-- --></A><H3>
getEnumInt</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; E <B>getEnumInt</B>(int&nbsp;index,
                                                  java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads an int from the buffer and returns the correlating enum constant
 defined by the specified enum type.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumInt(int, java.lang.Class)">getEnumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - The enum type to return<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the bytes will be read<DD><CODE>enumClass</CODE> - The enum's class object</DL>
</DD>
</DL>
<HR>

<A NAME="putEnum(java.lang.Enum)"><!-- --></A><H3>
putEnum</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnum</B>(java.lang.Enum&lt;?&gt;&nbsp;e)</PRE>
<DL>
<DD>Writes an enum's ordinal value to the buffer as a byte.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnum(java.lang.Enum)">putEnum</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>e</CODE> - The enum to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnum(int, java.lang.Enum)"><!-- --></A><H3>
putEnum</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnum</B>(int&nbsp;index,
                        java.lang.Enum&lt;?&gt;&nbsp;e)</PRE>
<DL>
<DD>Writes an enum's ordinal value to the buffer as a byte.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnum(int, java.lang.Enum)">putEnum</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index at which the byte will be written<DD><CODE>e</CODE> - The enum to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumShort(java.lang.Enum)"><!-- --></A><H3>
putEnumShort</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumShort</B>(java.lang.Enum&lt;?&gt;&nbsp;e)</PRE>
<DL>
<DD>Writes an enum's ordinal value to the buffer as a short.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumShort(java.lang.Enum)">putEnumShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>e</CODE> - The enum to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumShort(int, java.lang.Enum)"><!-- --></A><H3>
putEnumShort</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumShort</B>(int&nbsp;index,
                             java.lang.Enum&lt;?&gt;&nbsp;e)</PRE>
<DL>
<DD>Writes an enum's ordinal value to the buffer as a short.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumShort(int, java.lang.Enum)">putEnumShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index at which the bytes will be written<DD><CODE>e</CODE> - The enum to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumInt(java.lang.Enum)"><!-- --></A><H3>
putEnumInt</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumInt</B>(java.lang.Enum&lt;?&gt;&nbsp;e)</PRE>
<DL>
<DD>Writes an enum's ordinal value to the buffer as an integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumInt(java.lang.Enum)">putEnumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>e</CODE> - The enum to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumInt(int, java.lang.Enum)"><!-- --></A><H3>
putEnumInt</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumInt</B>(int&nbsp;index,
                           java.lang.Enum&lt;?&gt;&nbsp;e)</PRE>
<DL>
<DD>Writes an enum's ordinal value to the buffer as an integer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumInt(int, java.lang.Enum)">putEnumInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - The index at which the bytes will be written<DD><CODE>e</CODE> - The enum to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSet(java.lang.Class)"><!-- --></A><H3>
getEnumSet</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSet</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a byte sized bit vector and converts it to an <CODE>EnumSet</CODE>.
 
 <p>
 Each bit is mapped to a value in the specified enum. The least
 significant bit maps to the first entry in the specified enum and each
 subsequent bit maps to each subsequent bit as mapped to the subsequent
 enum value.
 </p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)">getEnumSet</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSet(int, java.lang.Class)"><!-- --></A><H3>
getEnumSet</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSet</B>(int&nbsp;index,
                                                                     java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a byte sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(int, java.lang.Class)">getEnumSet</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the byte will be read<DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSetShort(java.lang.Class)"><!-- --></A><H3>
getEnumSetShort</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSetShort</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a short sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSetShort(java.lang.Class)">getEnumSetShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSetShort(int, java.lang.Class)"><!-- --></A><H3>
getEnumSetShort</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSetShort</B>(int&nbsp;index,
                                                                          java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a short sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSetShort(int, java.lang.Class)">getEnumSetShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the bytes will be read<DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSetInt(java.lang.Class)"><!-- --></A><H3>
getEnumSetInt</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSetInt</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads an int sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSetInt(java.lang.Class)">getEnumSetInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSetInt(int, java.lang.Class)"><!-- --></A><H3>
getEnumSetInt</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSetInt</B>(int&nbsp;index,
                                                                        java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads an int sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSetInt(int, java.lang.Class)">getEnumSetInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the bytes will be read<DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSetLong(java.lang.Class)"><!-- --></A><H3>
getEnumSetLong</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSetLong</B>(java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a long sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSetLong(java.lang.Class)">getEnumSetLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEnumSetLong(int, java.lang.Class)"><!-- --></A><H3>
getEnumSetLong</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; java.util.EnumSet&lt;E&gt; <B>getEnumSetLong</B>(int&nbsp;index,
                                                                         java.lang.Class&lt;E&gt;&nbsp;enumClass)</PRE>
<DL>
<DD>Reads a long sized bit vector and converts it to an <CODE>EnumSet</CODE>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSetLong(int, java.lang.Class)">getEnumSetLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index from which the bytes will be read<DD><CODE>enumClass</CODE> - the enum class used to create the EnumSet
<DT><B>Returns:</B><DD>the EnumSet representation of the bit vector<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#getEnumSet(java.lang.Class)"><CODE>IoBuffer.getEnumSet(Class)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSet(java.util.Set)"><!-- --></A><H3>
putEnumSet</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSet</B>(java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as a byte sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSet(java.util.Set)">putEnumSet</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSet(int, java.util.Set)"><!-- --></A><H3>
putEnumSet</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSet</B>(int&nbsp;index,
                                                         java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as a byte sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSet(int, java.util.Set)">putEnumSet</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index at which the byte will be written<DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSetShort(java.util.Set)"><!-- --></A><H3>
putEnumSetShort</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSetShort</B>(java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as a short sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSetShort(java.util.Set)">putEnumSetShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSetShort(int, java.util.Set)"><!-- --></A><H3>
putEnumSetShort</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSetShort</B>(int&nbsp;index,
                                                              java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as a short sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSetShort(int, java.util.Set)">putEnumSetShort</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index at which the bytes will be written<DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSetInt(java.util.Set)"><!-- --></A><H3>
putEnumSetInt</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSetInt</B>(java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as an int sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSetInt(java.util.Set)">putEnumSetInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSetInt(int, java.util.Set)"><!-- --></A><H3>
putEnumSetInt</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSetInt</B>(int&nbsp;index,
                                                            java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as an int sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSetInt(int, java.util.Set)">putEnumSetInt</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index at which the bytes will be written<DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSetLong(java.util.Set)"><!-- --></A><H3>
putEnumSetLong</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSetLong</B>(java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as a long sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSetLong(java.util.Set)">putEnumSetLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<HR>

<A NAME="putEnumSetLong(int, java.util.Set)"><!-- --></A><H3>
putEnumSetLong</H3>
<PRE>
public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A> <B>putEnumSetLong</B>(int&nbsp;index,
                                                             java.util.Set&lt;E&gt;&nbsp;set)</PRE>
<DL>
<DD>Writes the specified <CODE>Set</CODE> to the buffer as a long sized bit
 vector.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html#putEnumSetLong(int, java.util.Set)">putEnumSetLong</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>E</CODE> - the enum type of the Set<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index at which the bytes will be written<DD><CODE>set</CODE> - the enum set to write to the buffer</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractIoBuffer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/core/buffer/BufferDataException.html" title="class in org.apache.mina.core.buffer"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/mina/core/buffer/AbstractIoBuffer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractIoBuffer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2004-2011 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.
</BODY>
</HTML>
