blob: bb50699d48f27a00ce913e8440406eabb48e1808 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_24) on Mon Apr 11 23:10:54 CEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
StringUtilities (Apache MINA 2.0.3 API)
</TITLE>
<META NAME="date" CONTENT="2011-04-11">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="StringUtilities (Apache MINA 2.0.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StringUtilities.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/mina/proxy/utils/MD4Provider.html" title="class in org.apache.mina.proxy.utils"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/mina/proxy/utils/StringUtilities.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="StringUtilities.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.mina.proxy.utils</FONT>
<BR>
Class StringUtilities</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.mina.proxy.utils.StringUtilities</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>StringUtilities</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
StringUtilities.java - Various methods to handle strings.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>MINA 2.0.0-M3</DD>
<DT><B>Author:</B></DT>
<DD><a href="http://mina.apache.org">Apache MINA Project</a></DD>
</DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#StringUtilities()">StringUtilities</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#addValueToHeader(java.util.Map, java.lang.String, java.lang.String, boolean)">addValueToHeader</A></B>(java.util.Map&lt;java.lang.String,java.util.List&lt;java.lang.String&gt;&gt;&nbsp;headers,
java.lang.String&nbsp;key,
java.lang.String&nbsp;value,
boolean&nbsp;singleValued)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an header to the provided map of headers.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#copyDirective(java.util.HashMap, java.util.HashMap, java.lang.String)">copyDirective</A></B>(java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;src,
java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;dst,
java.lang.String&nbsp;directive)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the directive from the source map to the destination map, if it's
value isn't null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#copyDirective(java.util.HashMap, java.lang.StringBuilder, java.lang.String)">copyDirective</A></B>(java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;directives,
java.lang.StringBuilder&nbsp;sb,
java.lang.String&nbsp;directive)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy the directive to the <CODE>StringBuilder</CODE> if not null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#getDirectiveValue(java.util.HashMap, java.lang.String, boolean)">getDirectiveValue</A></B>(java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;directivesMap,
java.lang.String&nbsp;directive,
boolean&nbsp;mandatory)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A directive is a parameter of the digest authentication process.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#getSingleValuedHeader(java.util.Map, java.lang.String)">getSingleValuedHeader</A></B>(java.util.Map&lt;java.lang.String,java.util.List&lt;java.lang.String&gt;&gt;&nbsp;headers,
java.lang.String&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the named header.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#isLws(byte)">isLws</A></B>(byte&nbsp;b)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is character a linear white space ?
LWS = [CRLF] 1*( SP | HT )
Note that we're checking individual bytes instead of CRLF</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.util.HashMap&lt;java.lang.String,java.lang.String&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#parseDirectives(byte[])">parseDirectives</A></B>(byte[]&nbsp;buf)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses digest-challenge string, extracting each token and value(s).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/proxy/utils/StringUtilities.html#stringTo8859_1(java.lang.String)">stringTo8859_1</A></B>(java.lang.String&nbsp;str)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used to convert username-value, passwd or realm to 8859_1 encoding
if all chars in string are within the 8859_1 (Latin 1) encoding range.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="StringUtilities()"><!-- --></A><H3>
StringUtilities</H3>
<PRE>
public <B>StringUtilities</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="getDirectiveValue(java.util.HashMap, java.lang.String, boolean)"><!-- --></A><H3>
getDirectiveValue</H3>
<PRE>
public static java.lang.String <B>getDirectiveValue</B>(java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;directivesMap,
java.lang.String&nbsp;directive,
boolean&nbsp;mandatory)
throws javax.security.sasl.AuthenticationException</PRE>
<DL>
<DD>A directive is a parameter of the digest authentication process.
Returns the value of a directive from the map. If mandatory is true and the
value is null, then it throws an <CODE>AuthenticationException</CODE>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>directivesMap</CODE> - the directive's map<DD><CODE>directive</CODE> - the name of the directive we want to retrieve<DD><CODE>mandatory</CODE> - is the directive mandatory
<DT><B>Returns:</B><DD>the mandatory value as a String
<DT><B>Throws:</B>
<DD><CODE>javax.security.sasl.AuthenticationException</CODE> - if mandatory is true and if
directivesMap.get(directive) == null</DL>
</DD>
</DL>
<HR>
<A NAME="copyDirective(java.util.HashMap, java.lang.StringBuilder, java.lang.String)"><!-- --></A><H3>
copyDirective</H3>
<PRE>
public static void <B>copyDirective</B>(java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;directives,
java.lang.StringBuilder&nbsp;sb,
java.lang.String&nbsp;directive)</PRE>
<DL>
<DD>Copy the directive to the <CODE>StringBuilder</CODE> if not null.
(A directive is a parameter of the digest authentication process.)
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>directives</CODE> - the directives map<DD><CODE>sb</CODE> - the output buffer<DD><CODE>directive</CODE> - the directive name to look for</DL>
</DD>
</DL>
<HR>
<A NAME="copyDirective(java.util.HashMap, java.util.HashMap, java.lang.String)"><!-- --></A><H3>
copyDirective</H3>
<PRE>
public static java.lang.String <B>copyDirective</B>(java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;src,
java.util.HashMap&lt;java.lang.String,java.lang.String&gt;&nbsp;dst,
java.lang.String&nbsp;directive)</PRE>
<DL>
<DD>Copy the directive from the source map to the destination map, if it's
value isn't null.
(A directive is a parameter of the digest authentication process.)
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>src</CODE> - the source map<DD><CODE>dst</CODE> - the destination map<DD><CODE>directive</CODE> - the directive name
<DT><B>Returns:</B><DD>the value of the copied directive</DL>
</DD>
</DL>
<HR>
<A NAME="parseDirectives(byte[])"><!-- --></A><H3>
parseDirectives</H3>
<PRE>
public static java.util.HashMap&lt;java.lang.String,java.lang.String&gt; <B>parseDirectives</B>(byte[]&nbsp;buf)
throws javax.security.sasl.SaslException</PRE>
<DL>
<DD>Parses digest-challenge string, extracting each token and value(s). Each token
is a directive.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buf</CODE> - A non-null digest-challenge string.
<DT><B>Throws:</B>
<DD><CODE>java.io.UnsupportedEncodingException</CODE>
<DD><CODE>javax.security.sasl.SaslException</CODE> - if the String cannot be parsed according to RFC 2831</DL>
</DD>
</DL>
<HR>
<A NAME="isLws(byte)"><!-- --></A><H3>
isLws</H3>
<PRE>
public static boolean <B>isLws</B>(byte&nbsp;b)</PRE>
<DL>
<DD>Is character a linear white space ?
LWS = [CRLF] 1*( SP | HT )
Note that we're checking individual bytes instead of CRLF
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>b</CODE> - the byte to check
<DT><B>Returns:</B><DD><code>true</code> if it's a linear white space</DL>
</DD>
</DL>
<HR>
<A NAME="stringTo8859_1(java.lang.String)"><!-- --></A><H3>
stringTo8859_1</H3>
<PRE>
public static java.lang.String <B>stringTo8859_1</B>(java.lang.String&nbsp;str)
throws java.io.UnsupportedEncodingException</PRE>
<DL>
<DD>Used to convert username-value, passwd or realm to 8859_1 encoding
if all chars in string are within the 8859_1 (Latin 1) encoding range.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>str</CODE> - a non-null String
<DT><B>Returns:</B><DD>a non-null String containing the 8859_1 encoded string
<DT><B>Throws:</B>
<DD><CODE>javax.security.sasl.AuthenticationException</CODE>
<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getSingleValuedHeader(java.util.Map, java.lang.String)"><!-- --></A><H3>
getSingleValuedHeader</H3>
<PRE>
public static java.lang.String <B>getSingleValuedHeader</B>(java.util.Map&lt;java.lang.String,java.util.List&lt;java.lang.String&gt;&gt;&nbsp;headers,
java.lang.String&nbsp;key)</PRE>
<DL>
<DD>Returns the value of the named header. If it has multiple values
then an <CODE>IllegalArgumentException</CODE> is thrown
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>headers</CODE> - the http headers map<DD><CODE>key</CODE> - the key of the header
<DT><B>Returns:</B><DD>the value of the http header</DL>
</DD>
</DL>
<HR>
<A NAME="addValueToHeader(java.util.Map, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
addValueToHeader</H3>
<PRE>
public static void <B>addValueToHeader</B>(java.util.Map&lt;java.lang.String,java.util.List&lt;java.lang.String&gt;&gt;&nbsp;headers,
java.lang.String&nbsp;key,
java.lang.String&nbsp;value,
boolean&nbsp;singleValued)</PRE>
<DL>
<DD>Adds an header to the provided map of headers.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>headers</CODE> - the http headers map<DD><CODE>key</CODE> - the name of the new header to add<DD><CODE>value</CODE> - the value of the added header<DD><CODE>singleValued</CODE> - if true and the map already contains one value
then it is replaced by the new value. Otherwise it simply adds a new
value to this multi-valued header.</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/StringUtilities.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/mina/proxy/utils/MD4Provider.html" title="class in org.apache.mina.proxy.utils"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/mina/proxy/utils/StringUtilities.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="StringUtilities.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2011 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.
</BODY>
</HTML>