<!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.5.0_22) on Thu Jan 19 13:48:30 EST 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
JettyHTTPServerEngine (Apache CXF Bundle Jar 2.3.9 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="JettyHTTPServerEngine (Apache CXF Bundle Jar 2.3.9 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

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


<!-- ========= 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/JettyHTTPServerEngine.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>
Apache CXF API</EM>
</TD>
</TR>

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


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<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.cxf.transport.http_jetty</FONT>
<BR>
Class JettyHTTPServerEngine</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html" title="interface in org.apache.cxf.transport.http_jetty">ServerEngine</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.SpringJettyHTTPServerEngine.html" title="class in org.apache.cxf.transport.http_jetty.spring">JettyHTTPServerEngineBeanDefinitionParser.SpringJettyHTTPServerEngine</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>JettyHTTPServerEngine</B><DT>extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html" title="interface in org.apache.cxf.transport.http_jetty">ServerEngine</A></DL>
</PRE>

<P>
This class is the Jetty HTTP Server Engine that is configured to
 work off of a designated port. The port will be enabled for 
 "http" or "https" depending upon its successful configuration.
<P>

<P>
<HR>

<P>
<!-- =========== 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>protected &nbsp;<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPServerEngineFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#factory">factory</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the Jetty HTTP Server Engine Factory.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#JettyHTTPServerEngine()">JettyHTTPServerEngine</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#JettyHTTPServerEngine(org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory, java.lang.String, int)">JettyHTTPServerEngine</A></B>(<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPServerEngineFactory</A>&nbsp;fac,
                      <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;host,
                      int&nbsp;port)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This constructor is called by the JettyHTTPServerEngineFactory.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#addServant(java.net.URL, org.apache.cxf.transport.http_jetty.JettyHTTPHandler)">addServant</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url,
           <A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPHandler.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPHandler</A>&nbsp;handler)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register a servant.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#finalizeConfig()">finalizeConfig</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called after configure on this object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.jetty.server.Connector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getConnector()">getConnector</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.jetty.server.handler.ContextHandler</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getContextHandler(java.net.URL)">getContextHandler</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a registered context handler.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getContinuationsEnabled()">getContinuationsEnabled</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;org.eclipse.jetty.server.Handler&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getHandlers()">getHandlers</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getHost()">getHost</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the host for which this server engine was configured.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyConnectorFactory.html" title="interface in org.apache.cxf.transport.http_jetty">JettyConnectorFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getHTTPConnectorFactory()">getHTTPConnectorFactory</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method creates a connector factory.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyConnectorFactory.html" title="interface in org.apache.cxf.transport.http_jetty">JettyConnectorFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getHTTPSConnectorFactory(org.apache.cxf.configuration.jsse.TLSServerParameters)">getHTTPSConnectorFactory</A></B>(<A HREF="../../../../../org/apache/cxf/configuration/jsse/TLSServerParameters.html" title="class in org.apache.cxf.configuration.jsse">TLSServerParameters</A>&nbsp;tlsParams)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method creates a connector factory enabled with the JSSE</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getMaxIdleTime()">getMaxIdleTime</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getPort()">getPort</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the port number for which this server engine was configured.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getProtocol()">getProtocol</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the protocol "http" or "https" for which this engine
 was configured.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.jetty.server.Handler</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getServant(java.net.URL)">getServant</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a registered servant.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.jetty.server.Server</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getServer()">getServer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the jetty server instance</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/cxf/transport/http_jetty/ThreadingParameters.html" title="class in org.apache.cxf.transport.http_jetty">ThreadingParameters</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getThreadingParameters()">getThreadingParameters</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the threading parameters that have been set.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/cxf/configuration/jsse/TLSServerParameters.html" title="class in org.apache.cxf.configuration.jsse">TLSServerParameters</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#getTlsServerParameters()">getTlsServerParameters</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the programmatically set TLSServerParameters, not
 the TLSServerParametersType, which is the JAXB generated type used 
 in SpringConfiguration.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#isReuseAddress()">isReuseAddress</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#isSessionSupport()">isSessionSupport</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#isSetThreadingParameters()">isSetThreadingParameters</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns whether the threading parameters are set.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#removeServant(java.net.URL)">removeServant</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove a previously registered servant.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#retrieveListenerFactory()">retrieveListenerFactory</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setBus(org.apache.cxf.Bus)">setBus</A></B>(<A HREF="../../../../../org/apache/cxf/Bus.html" title="interface in org.apache.cxf">Bus</A>&nbsp;bus)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The bus.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setConnector(org.eclipse.jetty.server.Connector)">setConnector</A></B>(org.eclipse.jetty.server.Connector&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the jetty server's connector</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setContinuationsEnabled(boolean)">setContinuationsEnabled</A></B>(boolean&nbsp;enabled)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setHandlers(java.util.List)">setHandlers</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;org.eclipse.jetty.server.Handler&gt;&nbsp;h)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the jetty server's handlers</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setHost(java.lang.String)">setHost</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;host)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setJettyHTTPServerEngineFactory(org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory)">setJettyHTTPServerEngineFactory</A></B>(<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPServerEngineFactory</A>&nbsp;fac)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setMaxIdleTime(int)">setMaxIdleTime</A></B>(int&nbsp;maxIdle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setPort(int)">setPort</A></B>(int&nbsp;p)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setReuseAddress(boolean)">setReuseAddress</A></B>(boolean&nbsp;reuse)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setServer(org.eclipse.jetty.server.Server)">setServer</A></B>(org.eclipse.jetty.server.Server&nbsp;s)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the jetty server instance</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setSessionSupport(boolean)">setSessionSupport</A></B>(boolean&nbsp;support)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setThreadingParameters(org.apache.cxf.transport.http_jetty.ThreadingParameters)">setThreadingParameters</A></B>(<A HREF="../../../../../org/apache/cxf/transport/http_jetty/ThreadingParameters.html" title="class in org.apache.cxf.transport.http_jetty">ThreadingParameters</A>&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method sets the threading parameters for this particular 
 server engine.</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/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setTlsServerParameters(org.apache.cxf.configuration.jsse.TLSServerParameters)">setTlsServerParameters</A></B>(<A HREF="../../../../../org/apache/cxf/configuration/jsse/TLSServerParameters.html" title="class in org.apache.cxf.configuration.jsse">TLSServerParameters</A>&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to programmatically set the TLSServerParameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#setupThreadPool()">setupThreadPool</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#shutdown()">shutdown</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method will shut down the server engine and
 remove it from the factory's cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.html#stop()">stop</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by the ServerEngine Factory to destroy the 
 listener.</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://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#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="factory"><!-- --></A><H3>
factory</H3>
<PRE>
protected <A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPServerEngineFactory</A> <B>factory</B></PRE>
<DL>
<DD>This is the Jetty HTTP Server Engine Factory. This factory caches some 
 engines based on port numbers.
<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="JettyHTTPServerEngine(org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory, java.lang.String, int)"><!-- --></A><H3>
JettyHTTPServerEngine</H3>
<PRE>
public <B>JettyHTTPServerEngine</B>(<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPServerEngineFactory</A>&nbsp;fac,
                             <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;host,
                             int&nbsp;port)</PRE>
<DL>
<DD>This constructor is called by the JettyHTTPServerEngineFactory.
<P>
</DL>
<HR>

<A NAME="JettyHTTPServerEngine()"><!-- --></A><H3>
JettyHTTPServerEngine</H3>
<PRE>
public <B>JettyHTTPServerEngine</B>()</PRE>
<DL>
</DL>

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

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

<A NAME="setJettyHTTPServerEngineFactory(org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory)"><!-- --></A><H3>
setJettyHTTPServerEngineFactory</H3>
<PRE>
public void <B>setJettyHTTPServerEngineFactory</B>(<A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPServerEngineFactory</A>&nbsp;fac)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setPort(int)"><!-- --></A><H3>
setPort</H3>
<PRE>
public void <B>setPort</B>(int&nbsp;p)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setHost(java.lang.String)"><!-- --></A><H3>
setHost</H3>
<PRE>
public void <B>setHost</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;host)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setContinuationsEnabled(boolean)"><!-- --></A><H3>
setContinuationsEnabled</H3>
<PRE>
public void <B>setContinuationsEnabled</B>(boolean&nbsp;enabled)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getContinuationsEnabled()"><!-- --></A><H3>
getContinuationsEnabled</H3>
<PRE>
public boolean <B>getContinuationsEnabled</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBus(org.apache.cxf.Bus)"><!-- --></A><H3>
setBus</H3>
<PRE>
public void <B>setBus</B>(<A HREF="../../../../../org/apache/cxf/Bus.html" title="interface in org.apache.cxf">Bus</A>&nbsp;bus)</PRE>
<DL>
<DD>The bus.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getProtocol()"><!-- --></A><H3>
getProtocol</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getProtocol</B>()</PRE>
<DL>
<DD>Returns the protocol "http" or "https" for which this engine
 was configured.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPort()"><!-- --></A><H3>
getPort</H3>
<PRE>
public int <B>getPort</B>()</PRE>
<DL>
<DD>Returns the port number for which this server engine was configured.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="getHost()"><!-- --></A><H3>
getHost</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getHost</B>()</PRE>
<DL>
<DD>Returns the host for which this server engine was configured.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="shutdown()"><!-- --></A><H3>
shutdown</H3>
<PRE>
public void <B>shutdown</B>()</PRE>
<DL>
<DD>This method will shut down the server engine and
 remove it from the factory's cache.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getServer()"><!-- --></A><H3>
getServer</H3>
<PRE>
public org.eclipse.jetty.server.Server <B>getServer</B>()</PRE>
<DL>
<DD>get the jetty server instance
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setServer(org.eclipse.jetty.server.Server)"><!-- --></A><H3>
setServer</H3>
<PRE>
public void <B>setServer</B>(org.eclipse.jetty.server.Server&nbsp;s)</PRE>
<DL>
<DD>Set the jetty server instance
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>s</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setConnector(org.eclipse.jetty.server.Connector)"><!-- --></A><H3>
setConnector</H3>
<PRE>
public void <B>setConnector</B>(org.eclipse.jetty.server.Connector&nbsp;c)</PRE>
<DL>
<DD>set the jetty server's connector
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>c</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setHandlers(java.util.List)"><!-- --></A><H3>
setHandlers</H3>
<PRE>
public void <B>setHandlers</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;org.eclipse.jetty.server.Handler&gt;&nbsp;h)</PRE>
<DL>
<DD>set the jetty server's handlers
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>h</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setSessionSupport(boolean)"><!-- --></A><H3>
setSessionSupport</H3>
<PRE>
public void <B>setSessionSupport</B>(boolean&nbsp;support)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isSessionSupport()"><!-- --></A><H3>
isSessionSupport</H3>
<PRE>
public boolean <B>isSessionSupport</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getHandlers()"><!-- --></A><H3>
getHandlers</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;org.eclipse.jetty.server.Handler&gt; <B>getHandlers</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getConnector()"><!-- --></A><H3>
getConnector</H3>
<PRE>
public org.eclipse.jetty.server.Connector <B>getConnector</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isReuseAddress()"><!-- --></A><H3>
isReuseAddress</H3>
<PRE>
public boolean <B>isReuseAddress</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setReuseAddress(boolean)"><!-- --></A><H3>
setReuseAddress</H3>
<PRE>
public void <B>setReuseAddress</B>(boolean&nbsp;reuse)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMaxIdleTime()"><!-- --></A><H3>
getMaxIdleTime</H3>
<PRE>
public int <B>getMaxIdleTime</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setMaxIdleTime(int)"><!-- --></A><H3>
setMaxIdleTime</H3>
<PRE>
public void <B>setMaxIdleTime</B>(int&nbsp;maxIdle)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addServant(java.net.URL, org.apache.cxf.transport.http_jetty.JettyHTTPHandler)"><!-- --></A><H3>
addServant</H3>
<PRE>
public void <B>addServant</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url,
                       <A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyHTTPHandler.html" title="class in org.apache.cxf.transport.http_jetty">JettyHTTPHandler</A>&nbsp;handler)</PRE>
<DL>
<DD>Register a servant.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html#addServant(java.net.URL, org.apache.cxf.transport.http_jetty.JettyHTTPHandler)">addServant</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html" title="interface in org.apache.cxf.transport.http_jetty">ServerEngine</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>url</CODE> - the URL associated with the servant<DD><CODE>handler</CODE> - notified on incoming HTTP requests</DL>
</DD>
</DL>
<HR>

<A NAME="setupThreadPool()"><!-- --></A><H3>
setupThreadPool</H3>
<PRE>
protected void <B>setupThreadPool</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeServant(java.net.URL)"><!-- --></A><H3>
removeServant</H3>
<PRE>
public void <B>removeServant</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url)</PRE>
<DL>
<DD>Remove a previously registered servant.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html#removeServant(java.net.URL)">removeServant</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html" title="interface in org.apache.cxf.transport.http_jetty">ServerEngine</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>url</CODE> - the URL the servant was registered against.</DL>
</DD>
</DL>
<HR>

<A NAME="getServant(java.net.URL)"><!-- --></A><H3>
getServant</H3>
<PRE>
public org.eclipse.jetty.server.Handler <B>getServant</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url)</PRE>
<DL>
<DD>Get a registered servant.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html#getServant(java.net.URL)">getServant</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/cxf/transport/http_jetty/ServerEngine.html" title="interface in org.apache.cxf.transport.http_jetty">ServerEngine</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>url</CODE> - the associated URL
<DT><B>Returns:</B><DD>the HttpHandler if registered</DL>
</DD>
</DL>
<HR>

<A NAME="getContextHandler(java.net.URL)"><!-- --></A><H3>
getContextHandler</H3>
<PRE>
public org.eclipse.jetty.server.handler.ContextHandler <B>getContextHandler</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A>&nbsp;url)</PRE>
<DL>
<DD>Get a registered context handler.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>url</CODE> - the associated URL
<DT><B>Returns:</B><DD>the HttpHandler if registered</DL>
</DD>
</DL>
<HR>

<A NAME="retrieveListenerFactory()"><!-- --></A><H3>
retrieveListenerFactory</H3>
<PRE>
protected void <B>retrieveListenerFactory</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getHTTPConnectorFactory()"><!-- --></A><H3>
getHTTPConnectorFactory</H3>
<PRE>
protected <A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyConnectorFactory.html" title="interface in org.apache.cxf.transport.http_jetty">JettyConnectorFactory</A> <B>getHTTPConnectorFactory</B>()</PRE>
<DL>
<DD>This method creates a connector factory. If there are TLS parameters
 then it creates a TLS enabled one.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getHTTPSConnectorFactory(org.apache.cxf.configuration.jsse.TLSServerParameters)"><!-- --></A><H3>
getHTTPSConnectorFactory</H3>
<PRE>
protected <A HREF="../../../../../org/apache/cxf/transport/http_jetty/JettyConnectorFactory.html" title="interface in org.apache.cxf.transport.http_jetty">JettyConnectorFactory</A> <B>getHTTPSConnectorFactory</B>(<A HREF="../../../../../org/apache/cxf/configuration/jsse/TLSServerParameters.html" title="class in org.apache.cxf.configuration.jsse">TLSServerParameters</A>&nbsp;tlsParams)</PRE>
<DL>
<DD>This method creates a connector factory enabled with the JSSE
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="finalizeConfig()"><!-- --></A><H3>
finalizeConfig</H3>
<PRE>
<FONT SIZE="-1">@PostConstruct
</FONT>public void <B>finalizeConfig</B>()
                    throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/security/GeneralSecurityException.html" title="class or interface in java.security">GeneralSecurityException</A>,
                           <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>This method is called after configure on this object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/security/GeneralSecurityException.html" title="class or interface in java.security">GeneralSecurityException</A></CODE>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="stop()"><!-- --></A><H3>
stop</H3>
<PRE>
protected void <B>stop</B>()
             throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>This method is called by the ServerEngine Factory to destroy the 
 listener.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setTlsServerParameters(org.apache.cxf.configuration.jsse.TLSServerParameters)"><!-- --></A><H3>
setTlsServerParameters</H3>
<PRE>
public void <B>setTlsServerParameters</B>(<A HREF="../../../../../org/apache/cxf/configuration/jsse/TLSServerParameters.html" title="class in org.apache.cxf.configuration.jsse">TLSServerParameters</A>&nbsp;params)
                            throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>This method is used to programmatically set the TLSServerParameters.
 This method may only be called by the factory.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getTlsServerParameters()"><!-- --></A><H3>
getTlsServerParameters</H3>
<PRE>
public <A HREF="../../../../../org/apache/cxf/configuration/jsse/TLSServerParameters.html" title="class in org.apache.cxf.configuration.jsse">TLSServerParameters</A> <B>getTlsServerParameters</B>()</PRE>
<DL>
<DD>This method returns the programmatically set TLSServerParameters, not
 the TLSServerParametersType, which is the JAXB generated type used 
 in SpringConfiguration.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setThreadingParameters(org.apache.cxf.transport.http_jetty.ThreadingParameters)"><!-- --></A><H3>
setThreadingParameters</H3>
<PRE>
public void <B>setThreadingParameters</B>(<A HREF="../../../../../org/apache/cxf/transport/http_jetty/ThreadingParameters.html" title="class in org.apache.cxf.transport.http_jetty">ThreadingParameters</A>&nbsp;params)</PRE>
<DL>
<DD>This method sets the threading parameters for this particular 
 server engine.
 This method may only be called by the factory.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isSetThreadingParameters()"><!-- --></A><H3>
isSetThreadingParameters</H3>
<PRE>
public boolean <B>isSetThreadingParameters</B>()</PRE>
<DL>
<DD>This method returns whether the threading parameters are set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getThreadingParameters()"><!-- --></A><H3>
getThreadingParameters</H3>
<PRE>
public <A HREF="../../../../../org/apache/cxf/transport/http_jetty/ThreadingParameters.html" title="class in org.apache.cxf.transport.http_jetty">ThreadingParameters</A> <B>getThreadingParameters</B>()</PRE>
<DL>
<DD>This method returns the threading parameters that have been set.
 This method may return null, if the threading parameters have not
 been set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</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/JettyHTTPServerEngine.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>
Apache CXF API</EM>
</TD>
</TR>

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


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<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>
Apache CXF
</BODY>
</HTML>
