<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_191) on Sat Mar 16 09:46:25 CET 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SSLFilter (Apache MINA 1.0.10 API Documentation)</title>
<meta name="date" content="2019-03-16">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SSLFilter (Apache MINA 1.0.10 API Documentation)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SSLFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/mina/filter/SSLFilter.html" target="_top">Frames</a></li>
<li><a href="SSLFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mina.filter</div>
<h2 title="Class SSLFilter" class="title">Class SSLFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">org.apache.mina.common.IoFilterAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mina.filter.SSLFilter</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SSLFilter</span>
extends <a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></pre>
<div class="block">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/SSLFilter.html#startSSL-org.apache.mina.common.IoSession-"><code>startSSL(IoSession)</code></a> manually unless you are implementing StartTLS
 (see below).
 <p>
 This filter uses an <code>SSLEngine</code> 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>
 This filter logs debug information using <a href="../../../../org/apache/mina/util/SessionLog.html" title="class in org.apache.mina.util"><code>SessionLog</code></a>.
 
 <h2>Implementing StartTLS</h2>
 <p>
 You can use <a href="../../../../org/apache/mina/filter/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></div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Rev: 561121 $, $Date: 2007-07-30 23:09:59 +0200 (Mon, 30 Jul 2007) $</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>The Apache Directory Project (mina-dev@directory.apache.org)</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter">SSLFilter.SSLFilterMessage</a></span></code>
<div class="block">A message that is sent from <a href="../../../../org/apache/mina/filter/SSLFilter.html" title="class in org.apache.mina.filter"><code>SSLFilter</code></a> when the connection became
 secure or is not secure anymore.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.mina.common.IoFilter">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.mina.common.<a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></h3>
<code><a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>, <a href="../../../../org/apache/mina/common/IoFilter.WriteRequest.html" title="class in org.apache.mina.common">IoFilter.WriteRequest</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#DISABLE_ENCRYPTION_ONCE">DISABLE_ENCRYPTION_ONCE</a></span></code>
<div class="block">A session attribute key that makes next one write request bypass
 this filter (not encrypting the data).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter">SSLFilter.SSLFilterMessage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#SESSION_SECURED">SESSION_SECURED</a></span></code>
<div class="block">A special message object which is emitted with a <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.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/SSLFilter.html#USE_NOTIFICATION"><code>USE_NOTIFICATION</code></a>
 attribute is set.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter">SSLFilter.SSLFilterMessage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#SESSION_UNSECURED">SESSION_UNSECURED</a></span></code>
<div class="block">A special message object which is emitted with a <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.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/SSLFilter.html#USE_NOTIFICATION"><code>USE_NOTIFICATION</code></a>
 attribute is set.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#SSL_SESSION">SSL_SESSION</a></span></code>
<div class="block">A session attribute key that stores underlying <code>SSLSession</code>
 for each session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#USE_NOTIFICATION">USE_NOTIFICATION</a></span></code>
<div class="block">A session attribute key that makes this filter to emit a
 <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageReceived(IoSession, Object)</code></a> event with a
 special message (<a href="../../../../org/apache/mina/filter/SSLFilter.html#SESSION_SECURED"><code>SESSION_SECURED</code></a> or <a href="../../../../org/apache/mina/filter/SSLFilter.html#SESSION_UNSECURED"><code>SESSION_UNSECURED</code></a>).</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#SSLFilter-javax.net.ssl.SSLContext-">SSLFilter</a></span>(javax.net.ssl.SSLContext&nbsp;sslContext)</code>
<div class="block">Creates a new SSL filter using the specified <code>SSLContext</code>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#filterClose-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">filterClose</a></span>(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
           <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</code>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoSession.html#close--"><code>IoSession.close()</code></a> method invocation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#filterWrite-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.IoFilter.WriteRequest-">filterWrite</a></span>(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
           <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session,
           <a href="../../../../org/apache/mina/common/IoFilter.WriteRequest.html" title="class in org.apache.mina.common">IoFilter.WriteRequest</a>&nbsp;writeRequest)</code>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoSession.html#write-java.lang.Object-"><code>IoSession.write(Object)</code></a> method invocation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#getEnabledCipherSuites--">getEnabledCipherSuites</a></span>()</code>
<div class="block">Returns the list of cipher suites to be enabled when <code>SSLEngine</code>
 is initialized.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#getEnabledProtocols--">getEnabledProtocols</a></span>()</code>
<div class="block">Returns the list of protocols to be enabled when <code>SSLEngine</code>
 is initialized.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>javax.net.ssl.SSLSession</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#getSSLSession-org.apache.mina.common.IoSession-">getSSLSession</a></span>(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</code>
<div class="block">Returns the underlying <code>SSLSession</code> for the specified session.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#isNeedClientAuth--">isNeedClientAuth</a></span>()</code>
<div class="block">Returns <tt>true</tt> if the engine will <em>require</em> client authentication.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#isSSLStarted-org.apache.mina.common.IoSession-">isSSLStarted</a></span>(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</code>
<div class="block">Returns <tt>true</tt> if and only if the specified <tt>session</tt> is
 encrypted/decrypted over SSL/TLS currently.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#isUseClientMode--">isUseClientMode</a></span>()</code>
<div class="block">Returns <tt>true</tt> if the engine is set to use client mode
 when handshaking.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#isWantClientAuth--">isWantClientAuth</a></span>()</code>
<div class="block">Returns <tt>true</tt> if the engine will <em>request</em> client authentication.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#messageReceived-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">messageReceived</a></span>(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
               <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session,
               java.lang.Object&nbsp;message)</code>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageReceived(IoSession,Object)</code></a>
 event.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#messageSent-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">messageSent</a></span>(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
           <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session,
           java.lang.Object&nbsp;message)</code>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoHandler.html#messageSent-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageSent(IoSession,Object)</code></a>
 event.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#onPostAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPostAdd</a></span>(<a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;parent,
         java.lang.String&nbsp;name,
         <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter)</code>
<div class="block">Invoked after this filter is added to the specified <tt>parent</tt>.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#onPreAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPreAdd</a></span>(<a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;parent,
        java.lang.String&nbsp;name,
        <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter)</code>
<div class="block">Invoked before this filter is added to the specified <tt>parent</tt>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#onPreRemove-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPreRemove</a></span>(<a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;parent,
           java.lang.String&nbsp;name,
           <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter)</code>
<div class="block">Invoked before this filter is removed from the specified <tt>parent</tt>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#sessionClosed-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">sessionClosed</a></span>(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
             <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</code>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoHandler.html#sessionClosed-org.apache.mina.common.IoSession-"><code>IoHandler.sessionClosed(IoSession)</code></a> event.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#setEnabledCipherSuites-java.lang.String:A-">setEnabledCipherSuites</a></span>(java.lang.String[]&nbsp;cipherSuites)</code>
<div class="block">Sets the list of cipher suites to be enabled when <code>SSLEngine</code>
 is initialized.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#setEnabledProtocols-java.lang.String:A-">setEnabledProtocols</a></span>(java.lang.String[]&nbsp;protocols)</code>
<div class="block">Sets the list of protocols to be enabled when <code>SSLEngine</code>
 is initialized.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#setNeedClientAuth-boolean-">setNeedClientAuth</a></span>(boolean&nbsp;needClientAuth)</code>
<div class="block">Configures the engine to <em>require</em> client authentication.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#setUseClientMode-boolean-">setUseClientMode</a></span>(boolean&nbsp;clientMode)</code>
<div class="block">Configures the engine to use client (or server) mode when handshaking.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#setWantClientAuth-boolean-">setWantClientAuth</a></span>(boolean&nbsp;wantClientAuth)</code>
<div class="block">Configures the engine to <em>request</em> client authentication.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#startSSL-org.apache.mina.common.IoSession-">startSSL</a></span>(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</code>
<div class="block">(Re)starts SSL session for the specified <tt>session</tt> if not started yet.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common">WriteFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/filter/SSLFilter.html#stopSSL-org.apache.mina.common.IoSession-">stopSSL</a></span>(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</code>
<div class="block">Stops the SSL session by sending TLS <tt>close_notify</tt> message to
 initiate TLS closure.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.mina.common.IoFilterAdapter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mina.common.<a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></h3>
<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#destroy--">destroy</a>, <a href="../../../../org/apache/mina/common/IoFilterAdapter.html#exceptionCaught-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Throwable-">exceptionCaught</a>, <a href="../../../../org/apache/mina/common/IoFilterAdapter.html#init--">init</a>, <a href="../../../../org/apache/mina/common/IoFilterAdapter.html#onPostRemove-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPostRemove</a>, <a href="../../../../org/apache/mina/common/IoFilterAdapter.html#sessionCreated-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">sessionCreated</a>, <a href="../../../../org/apache/mina/common/IoFilterAdapter.html#sessionIdle-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.IdleStatus-">sessionIdle</a>, <a href="../../../../org/apache/mina/common/IoFilterAdapter.html#sessionOpened-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">sessionOpened</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="SSL_SESSION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSL_SESSION</h4>
<pre>public static final&nbsp;java.lang.String SSL_SESSION</pre>
<div class="block">A session attribute key that stores underlying <code>SSLSession</code>
 for each session.</div>
</li>
</ul>
<a name="DISABLE_ENCRYPTION_ONCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DISABLE_ENCRYPTION_ONCE</h4>
<pre>public static final&nbsp;java.lang.String DISABLE_ENCRYPTION_ONCE</pre>
<div class="block">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. (<code>Boolean.TRUE</code>
 is preferred.)  The attribute is automatically removed from the session
 attribute map as soon as <a href="../../../../org/apache/mina/common/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.</div>
</li>
</ul>
<a name="USE_NOTIFICATION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USE_NOTIFICATION</h4>
<pre>public static final&nbsp;java.lang.String USE_NOTIFICATION</pre>
<div class="block">A session attribute key that makes this filter to emit a
 <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageReceived(IoSession, Object)</code></a> event with a
 special message (<a href="../../../../org/apache/mina/filter/SSLFilter.html#SESSION_SECURED"><code>SESSION_SECURED</code></a> or <a href="../../../../org/apache/mina/filter/SSLFilter.html#SESSION_UNSECURED"><code>SESSION_UNSECURED</code></a>).
 This is a marker attribute, which means that you can put whatever as its
 value. (<code>Boolean.TRUE</code> is preferred.)  By default, this filter
 doesn't emit any events related with SSL session flow control.</div>
</li>
</ul>
<a name="SESSION_SECURED">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SESSION_SECURED</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter">SSLFilter.SSLFilterMessage</a> SESSION_SECURED</pre>
<div class="block">A special message object which is emitted with a <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.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/SSLFilter.html#USE_NOTIFICATION"><code>USE_NOTIFICATION</code></a>
 attribute is set.</div>
</li>
</ul>
<a name="SESSION_UNSECURED">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SESSION_UNSECURED</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter">SSLFilter.SSLFilterMessage</a> SESSION_UNSECURED</pre>
<div class="block">A special message object which is emitted with a <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.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/SSLFilter.html#USE_NOTIFICATION"><code>USE_NOTIFICATION</code></a>
 attribute is set.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SSLFilter-javax.net.ssl.SSLContext-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SSLFilter</h4>
<pre>public&nbsp;SSLFilter(javax.net.ssl.SSLContext&nbsp;sslContext)</pre>
<div class="block">Creates a new SSL filter using the specified <code>SSLContext</code>.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getSSLSession-org.apache.mina.common.IoSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSSLSession</h4>
<pre>public&nbsp;javax.net.ssl.SSLSession&nbsp;getSSLSession(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</pre>
<div class="block">Returns the underlying <code>SSLSession</code> for the specified session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>null</tt> if no <code>SSLSession</code> is initialized yet.</dd>
</dl>
</li>
</ul>
<a name="startSSL-org.apache.mina.common.IoSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startSSL</h4>
<pre>public&nbsp;boolean&nbsp;startSSL(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)
                 throws javax.net.ssl.SSLException</pre>
<div class="block">(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.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if the SSL session has been started, <tt>false</tt> if already started.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code> - if failed to start the SSL session</dd>
</dl>
</li>
</ul>
<a name="isSSLStarted-org.apache.mina.common.IoSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSSLStarted</h4>
<pre>public&nbsp;boolean&nbsp;isSSLStarted(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)</pre>
<div class="block">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 retun <tt>false</tt> after TLS <tt>close_notify</tt> message
 is sent and any messages written after then is not goinf to get encrypted.</div>
</li>
</ul>
<a name="stopSSL-org.apache.mina.common.IoSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stopSSL</h4>
<pre>public&nbsp;<a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common">WriteFuture</a>&nbsp;stopSSL(<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)
                    throws javax.net.ssl.SSLException</pre>
<div class="block">Stops the SSL session by sending TLS <tt>close_notify</tt> message to
 initiate TLS closure.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common"><code>IoSession</code></a> to initiate TLS closure</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code> - if failed to initiate TLS closure</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if this filter is not managing the specified session</dd>
</dl>
</li>
</ul>
<a name="isUseClientMode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUseClientMode</h4>
<pre>public&nbsp;boolean&nbsp;isUseClientMode()</pre>
<div class="block">Returns <tt>true</tt> if the engine is set to use client mode
 when handshaking.</div>
</li>
</ul>
<a name="setUseClientMode-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseClientMode</h4>
<pre>public&nbsp;void&nbsp;setUseClientMode(boolean&nbsp;clientMode)</pre>
<div class="block">Configures the engine to use client (or server) mode when handshaking.</div>
</li>
</ul>
<a name="isNeedClientAuth--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNeedClientAuth</h4>
<pre>public&nbsp;boolean&nbsp;isNeedClientAuth()</pre>
<div class="block">Returns <tt>true</tt> if the engine will <em>require</em> client authentication.
 This option is only useful to engines in the server mode.</div>
</li>
</ul>
<a name="setNeedClientAuth-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNeedClientAuth</h4>
<pre>public&nbsp;void&nbsp;setNeedClientAuth(boolean&nbsp;needClientAuth)</pre>
<div class="block">Configures the engine to <em>require</em> client authentication.
 This option is only useful for engines in the server mode.</div>
</li>
</ul>
<a name="isWantClientAuth--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWantClientAuth</h4>
<pre>public&nbsp;boolean&nbsp;isWantClientAuth()</pre>
<div class="block">Returns <tt>true</tt> if the engine will <em>request</em> client authentication.
 This option is only useful to engines in the server mode.</div>
</li>
</ul>
<a name="setWantClientAuth-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWantClientAuth</h4>
<pre>public&nbsp;void&nbsp;setWantClientAuth(boolean&nbsp;wantClientAuth)</pre>
<div class="block">Configures the engine to <em>request</em> client authentication.
 This option is only useful for engines in the server mode.</div>
</li>
</ul>
<a name="getEnabledCipherSuites--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnabledCipherSuites</h4>
<pre>public&nbsp;java.lang.String[]&nbsp;getEnabledCipherSuites()</pre>
<div class="block">Returns the list of cipher suites to be enabled when <code>SSLEngine</code>
 is initialized.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>null</tt> means 'use <code>SSLEngine</code>'s default.'</dd>
</dl>
</li>
</ul>
<a name="setEnabledCipherSuites-java.lang.String:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnabledCipherSuites</h4>
<pre>public&nbsp;void&nbsp;setEnabledCipherSuites(java.lang.String[]&nbsp;cipherSuites)</pre>
<div class="block">Sets the list of cipher suites to be enabled when <code>SSLEngine</code>
 is initialized.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cipherSuites</code> - <tt>null</tt> means 'use <code>SSLEngine</code>'s default.'</dd>
</dl>
</li>
</ul>
<a name="getEnabledProtocols--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnabledProtocols</h4>
<pre>public&nbsp;java.lang.String[]&nbsp;getEnabledProtocols()</pre>
<div class="block">Returns the list of protocols to be enabled when <code>SSLEngine</code>
 is initialized.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>null</tt> means 'use <code>SSLEngine</code>'s default.'</dd>
</dl>
</li>
</ul>
<a name="setEnabledProtocols-java.lang.String:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnabledProtocols</h4>
<pre>public&nbsp;void&nbsp;setEnabledProtocols(java.lang.String[]&nbsp;protocols)</pre>
<div class="block">Sets the list of protocols to be enabled when <code>SSLEngine</code>
 is initialized.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocols</code> - <tt>null</tt> means 'use <code>SSLEngine</code>'s default.'</dd>
</dl>
</li>
</ul>
<a name="onPreAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onPreAdd</h4>
<pre>public&nbsp;void&nbsp;onPreAdd(<a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;parent,
                     java.lang.String&nbsp;name,
                     <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter)
              throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#onPreAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">IoFilter</a></code></span></div>
<div class="block">Invoked before 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/common/IoFilter.html#init--"><code>IoFilter.init()</code></a> is invoked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#onPreAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPreAdd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#onPreAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPreAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent who called this method</dd>
<dd><code>name</code> - the name assigned to this filter</dd>
<dd><code>nextFilter</code> - the <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><code>IoFilter.NextFilter</code></a> for this filter.  You can reuse
                   this object until this filter is removed from the chain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a name="onPostAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onPostAdd</h4>
<pre>public&nbsp;void&nbsp;onPostAdd(<a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;parent,
                      java.lang.String&nbsp;name,
                      <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter)
               throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#onPostAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">IoFilter</a></code></span></div>
<div class="block">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/common/IoFilter.html#init--"><code>IoFilter.init()</code></a> is invoked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#onPostAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPostAdd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#onPostAdd-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPostAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent who called this method</dd>
<dd><code>name</code> - the name assigned to this filter</dd>
<dd><code>nextFilter</code> - the <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><code>IoFilter.NextFilter</code></a> for this filter.  You can reuse
                   this object until this filter is removed from the chain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a name="onPreRemove-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onPreRemove</h4>
<pre>public&nbsp;void&nbsp;onPreRemove(<a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;parent,
                        java.lang.String&nbsp;name,
                        <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter)
                 throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#onPreRemove-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">IoFilter</a></code></span></div>
<div class="block">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/common/IoFilter.html#destroy--"><code>IoFilter.destroy()</code></a> is invoked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#onPreRemove-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPreRemove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#onPreRemove-org.apache.mina.common.IoFilterChain-java.lang.String-org.apache.mina.common.IoFilter.NextFilter-">onPreRemove</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent who called this method</dd>
<dd><code>name</code> - the name assigned to this filter</dd>
<dd><code>nextFilter</code> - the <a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><code>IoFilter.NextFilter</code></a> for this filter.  You can reuse
                   this object until this filter is removed from the chain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a name="sessionClosed-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sessionClosed</h4>
<pre>public&nbsp;void&nbsp;sessionClosed(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
                          <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)
                   throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#sessionClosed-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoHandler.html#sessionClosed-org.apache.mina.common.IoSession-"><code>IoHandler.sessionClosed(IoSession)</code></a> event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#sessionClosed-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">sessionClosed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#sessionClosed-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">sessionClosed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a name="messageReceived-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageReceived</h4>
<pre>public&nbsp;void&nbsp;messageReceived(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
                            <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session,
                            java.lang.Object&nbsp;message)
                     throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#messageReceived-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoHandler.html#messageReceived-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageReceived(IoSession,Object)</code></a>
 event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#messageReceived-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">messageReceived</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#messageReceived-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">messageReceived</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a name="messageSent-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageSent</h4>
<pre>public&nbsp;void&nbsp;messageSent(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
                        <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session,
                        java.lang.Object&nbsp;message)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#messageSent-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoHandler.html#messageSent-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageSent(IoSession,Object)</code></a>
 event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#messageSent-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">messageSent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#messageSent-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-java.lang.Object-">messageSent</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
</dl>
</li>
</ul>
<a name="filterWrite-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.IoFilter.WriteRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterWrite</h4>
<pre>public&nbsp;void&nbsp;filterWrite(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
                        <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session,
                        <a href="../../../../org/apache/mina/common/IoFilter.WriteRequest.html" title="class in org.apache.mina.common">IoFilter.WriteRequest</a>&nbsp;writeRequest)
                 throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#filterWrite-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.IoFilter.WriteRequest-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoSession.html#write-java.lang.Object-"><code>IoSession.write(Object)</code></a> method invocation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#filterWrite-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.IoFilter.WriteRequest-">filterWrite</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#filterWrite-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.IoFilter.WriteRequest-">filterWrite</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a name="filterClose-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>filterClose</h4>
<pre>public&nbsp;void&nbsp;filterClose(<a href="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</a>&nbsp;nextFilter,
                        <a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</a>&nbsp;session)
                 throws javax.net.ssl.SSLException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html#filterClose-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../org/apache/mina/common/IoSession.html#close--"><code>IoSession.close()</code></a> method invocation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilter.html#filterClose-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">filterClose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html#filterClose-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-">filterClose</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SSLFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/mina/filter/SSLFilter.SSLFilterMessage.html" title="class in org.apache.mina.filter"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/mina/filter/SSLFilter.html" target="_top">Frames</a></li>
<li><a href="SSLFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 2004-2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.</small></p>
</body>
</html>
