blob: a6a013ddc4d275fbf436b438996800c8ec7b1252 [file] [log] [blame]
<!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_26) on Wed Jun 15 18:09:20 CEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SslFilter (Apache MINA 2.0.4 API Documentation)
</TITLE>
<META NAME="date" CONTENT="2011-06-15">
<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="SslFilter (Apache MINA 2.0.4 API Documentation)";
}
}
</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/SslFilter.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;<A HREF="../../../../../org/apache/mina/filter/ssl/SslContextFactory.html" title="class in org.apache.mina.filter.ssl"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/mina/filter/ssl/SslFilter.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SslFilter.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&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;<A HREF="#field_detail">FIELD</A>&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.filter.ssl</FONT>
<BR>
Class SslFilter</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">org.apache.mina.core.filterchain.IoFilterAdapter</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.mina.filter.ssl.SslFilter</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>SslFilter</B><DT>extends <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></DL>
</PRE>
<P>
An SSL filter that encrypts and decrypts the data exchanged in the session.
Adding this filter triggers SSL handshake procedure immediately by sending
a SSL 'hello' message, so you don't need to call
<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#startSsl(org.apache.mina.core.session.IoSession)"><CODE>startSsl(IoSession)</CODE></A> manually unless you are implementing StartTLS
(see below). If you don't want the handshake procedure to start
immediately, please specify <code>false</code> as <code>autoStart</code> parameter in
the constructor.
<p>
This filter uses an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A> which was introduced in Java 5, so
Java version 5 or above is mandatory to use this filter. And please note that
this filter only works for TCP/IP connections.
<p>
<h2>Implementing StartTLS</h2>
<p>
You can use <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#DISABLE_ENCRYPTION_ONCE"><CODE>DISABLE_ENCRYPTION_ONCE</CODE></A> attribute to implement StartTLS:
<pre>
public void messageReceived(IoSession session, Object message) {
if (message instanceof MyStartTLSRequest) {
// Insert SSLFilter to get ready for handshaking
session.getFilterChain().addFirst(sslFilter);
// Disable encryption temporarilly.
// This attribute will be removed by SSLFilter
// inside the Session.write() call below.
session.setAttribute(SSLFilter.DISABLE_ENCRYPTION_ONCE, Boolean.TRUE);
// Write StartTLSResponse which won't be encrypted.
session.write(new MyStartTLSResponse(OK));
// Now DISABLE_ENCRYPTION_ONCE attribute is cleared.
assert session.getAttribute(SSLFilter.DISABLE_ENCRYPTION_ONCE) == null;
}
}
</pre>
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD><a href="http://mina.apache.org">Apache MINA Project</a></DD>
</DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl">SslFilter.SslFilterMessage</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A message that is sent from <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html" title="class in org.apache.mina.filter.ssl"><CODE>SslFilter</CODE></A> when the connection became
secure or is not secure anymore.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.apache.mina.core.filterchain.IoFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.apache.mina.core.filterchain.<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#DISABLE_ENCRYPTION_ONCE">DISABLE_ENCRYPTION_ONCE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A session attribute key that makes next one write request bypass
this filter (not encrypting the data).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#PEER_ADDRESS">PEER_ADDRESS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A session attribute key that should be set to an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net"><CODE>InetSocketAddress</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl">SslFilter.SslFilterMessage</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SESSION_SECURED">SESSION_SECURED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A special message object which is emitted with a <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession, Object)</CODE></A>
event when the session is secured and its <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#USE_NOTIFICATION"><CODE>USE_NOTIFICATION</CODE></A>
attribute is set.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl">SslFilter.SslFilterMessage</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SESSION_UNSECURED">SESSION_UNSECURED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A special message object which is emitted with a <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession, Object)</CODE></A>
event when the session is not secure anymore and its <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#USE_NOTIFICATION"><CODE>USE_NOTIFICATION</CODE></A>
attribute is set.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SSL_SESSION">SSL_SESSION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A session attribute key that stores underlying <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLSession</CODE></A>
for each session.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#USE_NOTIFICATION">USE_NOTIFICATION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A session attribute key that makes this filter to emit a
<A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession, Object)</CODE></A> event with a
special message (<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SESSION_SECURED"><CODE>SESSION_SECURED</CODE></A> or <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SESSION_UNSECURED"><CODE>SESSION_UNSECURED</CODE></A>).</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== 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><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SslFilter(javax.net.ssl.SSLContext)">SslFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</A>&nbsp;sslContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new SSL filter using the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SslFilter(javax.net.ssl.SSLContext, boolean)">SslFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</A>&nbsp;sslContext,
boolean&nbsp;autoStart)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new SSL filter using the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#exceptionCaught(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Throwable)">exceptionCaught</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;cause)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#exceptionCaught(org.apache.mina.core.session.IoSession, java.lang.Throwable)"><CODE>IoHandler.exceptionCaught(IoSession,Throwable)</CODE></A>
event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#filterClose(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">filterClose</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../../org/apache/mina/core/session/IoSession.html#close()"><CODE>IoSession.close()</CODE></A> method invocation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">filterWrite</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</A>&nbsp;writeRequest)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../../org/apache/mina/core/session/IoSession.html#write(java.lang.Object)"><CODE>IoSession.write(Object)</CODE></A> method invocation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#getEnabledCipherSuites()">getEnabledCipherSuites</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the list of cipher suites to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#getEnabledProtocols()">getEnabledProtocols</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the list of protocols to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl">SSLSession</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#getSslSession(org.apache.mina.core.session.IoSession)">getSslSession</A></B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the underlying <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLSession</CODE></A> for the specified session.</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/filter/ssl/SslFilter.html#isNeedClientAuth()">isNeedClientAuth</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the engine will <em>require</em> client authentication.</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/filter/ssl/SslFilter.html#isSslStarted(org.apache.mina.core.session.IoSession)">isSslStarted</A></B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if and only if the specified <tt>session</tt> is
encrypted/decrypted over SSL/TLS currently.</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/filter/ssl/SslFilter.html#isUseClientMode()">isUseClientMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the engine is set to use client mode
when handshaking.</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/filter/ssl/SslFilter.html#isWantClientAuth()">isWantClientAuth</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the engine will <em>request</em> client authentication.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Object)">messageReceived</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession,Object)</CODE></A>
event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#messageSent(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">messageSent</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</A>&nbsp;writeRequest)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageSent(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageSent(IoSession,Object)</CODE></A>
event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#onPostAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPostAdd</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after this filter is added to the specified <tt>parent</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#onPreAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreAdd</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executed just before the filter is added into the chain, we do :
check that we don't have a SSL filter already present
we update the next filter
we create the SSL handler helper class
and we store it into the session's Attributes
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#onPreRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreRemove</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked before this filter is removed from the specified <tt>parent</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#sessionClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionClosed</A></B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#sessionClosed(org.apache.mina.core.session.IoSession)"><CODE>IoHandler.sessionClosed(IoSession)</CODE></A> event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#setEnabledCipherSuites(java.lang.String[])">setEnabledCipherSuites</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;cipherSuites)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the list of cipher suites to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#setEnabledProtocols(java.lang.String[])">setEnabledProtocols</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;protocols)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the list of protocols to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#setNeedClientAuth(boolean)">setNeedClientAuth</A></B>(boolean&nbsp;needClientAuth)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configures the engine to <em>require</em> client authentication.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#setUseClientMode(boolean)">setUseClientMode</A></B>(boolean&nbsp;clientMode)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configures the engine to use client (or server) mode when handshaking.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#setWantClientAuth(boolean)">setWantClientAuth</A></B>(boolean&nbsp;wantClientAuth)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configures the engine to <em>request</em> client authentication.</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/filter/ssl/SslFilter.html#startSsl(org.apache.mina.core.session.IoSession)">startSsl</A></B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Re)starts SSL session for the specified <tt>session</tt> if not started yet.</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/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#stopSsl(org.apache.mina.core.session.IoSession)">stopSsl</A></B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stops the SSL session by sending TLS <tt>close_notify</tt> message to
initiate TLS closure.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.mina.core.filterchain.IoFilterAdapter"><!-- --></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.filterchain.<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#destroy()">destroy</A>, <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#init()">init</A>, <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPostRemove</A>, <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionCreated(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionCreated</A>, <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionIdle(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.session.IdleStatus)">sessionIdle</A>, <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionOpened(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionOpened</A>, <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#toString()">toString</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.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SSL_SESSION"><!-- --></A><H3>
SSL_SESSION</H3>
<PRE>
public static final <A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A> <B>SSL_SESSION</B></PRE>
<DL>
<DD>A session attribute key that stores underlying <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLSession</CODE></A>
for each session.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="DISABLE_ENCRYPTION_ONCE"><!-- --></A><H3>
DISABLE_ENCRYPTION_ONCE</H3>
<PRE>
public static final <A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A> <B>DISABLE_ENCRYPTION_ONCE</B></PRE>
<DL>
<DD>A session attribute key that makes next one write request bypass
this filter (not encrypting the data). This is a marker attribute,
which means that you can put whatever as its value. (<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Boolean.html?is-external=true#TRUE" title="class or interface in java.lang"><CODE>Boolean.TRUE</CODE></A>
is preferred.) The attribute is automatically removed from the session
attribute map as soon as <A HREF="../../../../../org/apache/mina/core/session/IoSession.html#write(java.lang.Object)"><CODE>IoSession.write(Object)</CODE></A> is invoked,
and therefore should be put again if you want to make more messages
bypass this filter. This is especially useful when you implement
StartTLS.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="USE_NOTIFICATION"><!-- --></A><H3>
USE_NOTIFICATION</H3>
<PRE>
public static final <A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A> <B>USE_NOTIFICATION</B></PRE>
<DL>
<DD>A session attribute key that makes this filter to emit a
<A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession, Object)</CODE></A> event with a
special message (<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SESSION_SECURED"><CODE>SESSION_SECURED</CODE></A> or <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#SESSION_UNSECURED"><CODE>SESSION_UNSECURED</CODE></A>).
This is a marker attribute, which means that you can put whatever as its
value. (<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Boolean.html?is-external=true#TRUE" title="class or interface in java.lang"><CODE>Boolean.TRUE</CODE></A> is preferred.) By default, this filter
doesn't emit any events related with SSL session flow control.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="PEER_ADDRESS"><!-- --></A><H3>
PEER_ADDRESS</H3>
<PRE>
public static final <A HREF="../../../../../org/apache/mina/core/session/AttributeKey.html" title="class in org.apache.mina.core.session">AttributeKey</A> <B>PEER_ADDRESS</B></PRE>
<DL>
<DD>A session attribute key that should be set to an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net"><CODE>InetSocketAddress</CODE></A>.
Setting this attribute causes
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true#createSSLEngine(java.lang.String, int)" title="class or interface in javax.net.ssl"><CODE>SSLContext.createSSLEngine(String, int)</CODE></A> to be called passing the
hostname and port of the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net"><CODE>InetSocketAddress</CODE></A> to get an
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A> instance. If not set <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true#createSSLEngine()" title="class or interface in javax.net.ssl"><CODE>SSLContext.createSSLEngine()</CODE></A>
will be called.<br/>
Using this feature <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLSession</CODE></A> objects may be cached and reused
when in client mode.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true#createSSLEngine(java.lang.String, int)" title="class or interface in javax.net.ssl"><CODE>SSLContext.createSSLEngine(String, int)</CODE></A></DL>
</DL>
<HR>
<A NAME="SESSION_SECURED"><!-- --></A><H3>
SESSION_SECURED</H3>
<PRE>
public static final <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl">SslFilter.SslFilterMessage</A> <B>SESSION_SECURED</B></PRE>
<DL>
<DD>A special message object which is emitted with a <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession, Object)</CODE></A>
event when the session is secured and its <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#USE_NOTIFICATION"><CODE>USE_NOTIFICATION</CODE></A>
attribute is set.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="SESSION_UNSECURED"><!-- --></A><H3>
SESSION_UNSECURED</H3>
<PRE>
public static final <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl">SslFilter.SslFilterMessage</A> <B>SESSION_UNSECURED</B></PRE>
<DL>
<DD>A special message object which is emitted with a <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession, Object)</CODE></A>
event when the session is not secure anymore and its <A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.html#USE_NOTIFICATION"><CODE>USE_NOTIFICATION</CODE></A>
attribute is set.
<P>
<DL>
</DL>
</DL>
<!-- ========= 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="SslFilter(javax.net.ssl.SSLContext)"><!-- --></A><H3>
SslFilter</H3>
<PRE>
public <B>SslFilter</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</A>&nbsp;sslContext)</PRE>
<DL>
<DD>Creates a new SSL filter using the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
The handshake will start immediately.
<P>
</DL>
<HR>
<A NAME="SslFilter(javax.net.ssl.SSLContext, boolean)"><!-- --></A><H3>
SslFilter</H3>
<PRE>
public <B>SslFilter</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</A>&nbsp;sslContext,
boolean&nbsp;autoStart)</PRE>
<DL>
<DD>Creates a new SSL filter using the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
If the <code>autostart</code> flag is set to <code>true</code>, the
handshake will start immediately.
<P>
</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="getSslSession(org.apache.mina.core.session.IoSession)"><!-- --></A><H3>
getSslSession</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl">SSLSession</A> <B>getSslSession</B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</PRE>
<DL>
<DD>Returns the underlying <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLSession</CODE></A> for the specified session.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><tt>null</tt> if no <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLSession.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLSession</CODE></A> is initialized yet.</DL>
</DD>
</DL>
<HR>
<A NAME="startSsl(org.apache.mina.core.session.IoSession)"><!-- --></A><H3>
startSsl</H3>
<PRE>
public boolean <B>startSsl</B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD>(Re)starts SSL session for the specified <tt>session</tt> if not started yet.
Please note that SSL session is automatically started by default, and therefore
you don't need to call this method unless you've used TLS closure.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><tt>true</tt> if the SSL session has been started, <tt>false</tt> if already started.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE> - if failed to start the SSL session</DL>
</DD>
</DL>
<HR>
<A NAME="isSslStarted(org.apache.mina.core.session.IoSession)"><!-- --></A><H3>
isSslStarted</H3>
<PRE>
public boolean <B>isSslStarted</B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)</PRE>
<DL>
<DD>Returns <tt>true</tt> if and only if the specified <tt>session</tt> is
encrypted/decrypted over SSL/TLS currently. This method will start
to return <tt>false</tt> after TLS <tt>close_notify</tt> message
is sent and any messages written after then is not going to get encrypted.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="stopSsl(org.apache.mina.core.session.IoSession)"><!-- --></A><H3>
stopSsl</H3>
<PRE>
public <A HREF="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</A> <B>stopSsl</B>(<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD>Stops the SSL session by sending TLS <tt>close_notify</tt> message to
initiate TLS closure.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>session</CODE> - the <A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><CODE>IoSession</CODE></A> to initiate TLS closure
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE> - if failed to initiate TLS closure
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this filter is not managing the specified session</DL>
</DD>
</DL>
<HR>
<A NAME="isUseClientMode()"><!-- --></A><H3>
isUseClientMode</H3>
<PRE>
public boolean <B>isUseClientMode</B>()</PRE>
<DL>
<DD>Returns <tt>true</tt> if the engine is set to use client mode
when handshaking.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setUseClientMode(boolean)"><!-- --></A><H3>
setUseClientMode</H3>
<PRE>
public void <B>setUseClientMode</B>(boolean&nbsp;clientMode)</PRE>
<DL>
<DD>Configures the engine to use client (or server) mode when handshaking.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isNeedClientAuth()"><!-- --></A><H3>
isNeedClientAuth</H3>
<PRE>
public boolean <B>isNeedClientAuth</B>()</PRE>
<DL>
<DD>Returns <tt>true</tt> if the engine will <em>require</em> client authentication.
This option is only useful to engines in the server mode.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setNeedClientAuth(boolean)"><!-- --></A><H3>
setNeedClientAuth</H3>
<PRE>
public void <B>setNeedClientAuth</B>(boolean&nbsp;needClientAuth)</PRE>
<DL>
<DD>Configures the engine to <em>require</em> client authentication.
This option is only useful for engines in the server mode.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isWantClientAuth()"><!-- --></A><H3>
isWantClientAuth</H3>
<PRE>
public boolean <B>isWantClientAuth</B>()</PRE>
<DL>
<DD>Returns <tt>true</tt> if the engine will <em>request</em> client authentication.
This option is only useful to engines in the server mode.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setWantClientAuth(boolean)"><!-- --></A><H3>
setWantClientAuth</H3>
<PRE>
public void <B>setWantClientAuth</B>(boolean&nbsp;wantClientAuth)</PRE>
<DL>
<DD>Configures the engine to <em>request</em> client authentication.
This option is only useful for engines in the server mode.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getEnabledCipherSuites()"><!-- --></A><H3>
getEnabledCipherSuites</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getEnabledCipherSuites</B>()</PRE>
<DL>
<DD>Returns the list of cipher suites to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><tt>null</tt> means 'use <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>'s default.'</DL>
</DD>
</DL>
<HR>
<A NAME="setEnabledCipherSuites(java.lang.String[])"><!-- --></A><H3>
setEnabledCipherSuites</H3>
<PRE>
public void <B>setEnabledCipherSuites</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;cipherSuites)</PRE>
<DL>
<DD>Sets the list of cipher suites to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>cipherSuites</CODE> - <tt>null</tt> means 'use <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>'s default.'</DL>
</DD>
</DL>
<HR>
<A NAME="getEnabledProtocols()"><!-- --></A><H3>
getEnabledProtocols</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] <B>getEnabledProtocols</B>()</PRE>
<DL>
<DD>Returns the list of protocols to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><tt>null</tt> means 'use <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>'s default.'</DL>
</DD>
</DL>
<HR>
<A NAME="setEnabledProtocols(java.lang.String[])"><!-- --></A><H3>
setEnabledProtocols</H3>
<PRE>
public void <B>setEnabledProtocols</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;protocols)</PRE>
<DL>
<DD>Sets the list of protocols to be enabled when <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>
is initialized.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>protocols</CODE> - <tt>null</tt> means 'use <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLEngine.html?is-external=true" title="class or interface in javax.net.ssl"><CODE>SSLEngine</CODE></A>'s default.'</DL>
</DD>
</DL>
<HR>
<A NAME="onPreAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)"><!-- --></A><H3>
onPreAdd</H3>
<PRE>
public void <B>onPreAdd</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD>Executed just before the filter is added into the chain, we do :
<ul>
<li>check that we don't have a SSL filter already present
<li>we update the next filter
<li>we create the SSL handler helper class
<li>and we store it into the session's Attributes
</ul>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPreAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreAdd</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreAdd</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="onPostAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)"><!-- --></A><H3>
onPostAdd</H3>
<PRE>
public void <B>onPostAdd</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">IoFilterAdapter</A></CODE></B></DD>
<DD>Invoked after this filter is added to the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is added to more than one parents. This method is not
invoked before <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#init()"><CODE>IoFilter.init()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPostAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPostAdd</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPostAdd</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="onPreRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)"><!-- --></A><H3>
onPreRemove</H3>
<PRE>
public void <B>onPreRemove</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">IoFilterAdapter</A></CODE></B></DD>
<DD>Invoked before this filter is removed from the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is removed from more than one parents.
This method is always invoked before <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#destroy()"><CODE>IoFilter.destroy()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPreRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreRemove</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreRemove</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="sessionClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)"><!-- --></A><H3>
sessionClosed</H3>
<PRE>
public void <B>sessionClosed</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">IoFilterAdapter</A></CODE></B></DD>
<DD>Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#sessionClosed(org.apache.mina.core.session.IoSession)"><CODE>IoHandler.sessionClosed(IoSession)</CODE></A> event.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#sessionClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionClosed</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionClosed</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Object)"><!-- --></A><H3>
messageReceived</H3>
<PRE>
public void <B>messageReceived</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;message)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Object)">IoFilterAdapter</A></CODE></B></DD>
<DD>Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession,Object)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Object)">messageReceived</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Object)">messageReceived</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="messageSent(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)"><!-- --></A><H3>
messageSent</H3>
<PRE>
public void <B>messageSent</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</A>&nbsp;writeRequest)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#messageSent(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">IoFilterAdapter</A></CODE></B></DD>
<DD>Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#messageSent(org.apache.mina.core.session.IoSession, java.lang.Object)"><CODE>IoHandler.messageSent(IoSession,Object)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#messageSent(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">messageSent</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#messageSent(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">messageSent</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="exceptionCaught(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Throwable)"><!-- --></A><H3>
exceptionCaught</H3>
<PRE>
public void <B>exceptionCaught</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A>&nbsp;cause)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#exceptionCaught(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Throwable)">IoFilterAdapter</A></CODE></B></DD>
<DD>Filters <A HREF="../../../../../org/apache/mina/core/service/IoHandler.html#exceptionCaught(org.apache.mina.core.session.IoSession, java.lang.Throwable)"><CODE>IoHandler.exceptionCaught(IoSession,Throwable)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#exceptionCaught(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Throwable)">exceptionCaught</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#exceptionCaught(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Throwable)">exceptionCaught</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)"><!-- --></A><H3>
filterWrite</H3>
<PRE>
public void <B>filterWrite</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session,
<A HREF="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</A>&nbsp;writeRequest)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">IoFilterAdapter</A></CODE></B></DD>
<DD>Filters <A HREF="../../../../../org/apache/mina/core/session/IoSession.html#write(java.lang.Object)"><CODE>IoSession.write(Object)</CODE></A> method invocation.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">filterWrite</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">filterWrite</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="filterClose(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)"><!-- --></A><H3>
filterClose</H3>
<PRE>
public void <B>filterClose</B>(<A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterClose(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">IoFilterAdapter</A></CODE></B></DD>
<DD>Filters <A HREF="../../../../../org/apache/mina/core/session/IoSession.html#close()"><CODE>IoSession.close()</CODE></A> method invocation.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html#filterClose(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">filterClose</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterClose(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">filterClose</A></CODE> in class <CODE><A HREF="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</A></CODE></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/SslFilter.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;<A HREF="../../../../../org/apache/mina/filter/ssl/SslContextFactory.html" title="class in org.apache.mina.filter.ssl"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/filter/ssl/SslFilter.SslFilterMessage.html" title="class in org.apache.mina.filter.ssl"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/mina/filter/ssl/SslFilter.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SslFilter.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&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;<A HREF="#field_detail">FIELD</A>&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>