<!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 Tue Sep 18 20:44:14 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
BasicHeaderValueFormatter (HttpComponents Core 4.2.2 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.http.message.BasicHeaderValueFormatter class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="BasicHeaderValueFormatter (HttpComponents Core 4.2.2 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/BasicHeaderValueFormatter.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/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/http/message/BasicHeaderValueFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BasicHeaderValueFormatter.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.http.message</FONT>
<BR>
Class BasicHeaderValueFormatter</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.http.message.BasicHeaderValueFormatter</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="../../../../org/apache/http/annotation/Immutable.html" title="annotation in org.apache.http.annotation">@Immutable</A>
</FONT>public class <B>BasicHeaderValueFormatter</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/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A></DL>
</PRE>

<P>
Basic implementation for formatting header value elements.
 Instances of this class are stateless and thread-safe.
 Derived classes are expected to maintain these properties.
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>4.0</DD>
</DL>
<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>static&nbsp;<A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#DEFAULT">DEFAULT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A default instance of this class, for use as default or fallback.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/http/message/BasicHeaderValueFormatter.html#SEPARATORS">SEPARATORS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Special characters that can be used as separators in HTTP parameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/http/message/BasicHeaderValueFormatter.html#UNSAFE_CHARS">UNSAFE_CHARS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unsafe special characters that must be escaped using the backslash
 character</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/http/message/BasicHeaderValueFormatter.html#BasicHeaderValueFormatter()">BasicHeaderValueFormatter</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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#doFormatValue(org.apache.http.util.CharArrayBuffer, java.lang.String, boolean)">doFormatValue</A></B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
              <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;value,
              boolean&nbsp;quote)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Actually formats the value of a name-value pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#estimateElementsLen(org.apache.http.HeaderElement[])">estimateElementsLen</A></B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>[]&nbsp;elems)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Estimates the length of formatted header elements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#estimateHeaderElementLen(org.apache.http.HeaderElement)">estimateHeaderElementLen</A></B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>&nbsp;elem)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Estimates the length of a formatted header element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#estimateNameValuePairLen(org.apache.http.NameValuePair)">estimateNameValuePairLen</A></B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>&nbsp;nvp)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Estimates the length of a formatted name-value pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#estimateParametersLen(org.apache.http.NameValuePair[])">estimateParametersLen</A></B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>[]&nbsp;nvps)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Estimates the length of formatted parameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean)">formatElements</A></B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
               <A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>[]&nbsp;elems,
               boolean&nbsp;quote)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an array of header elements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/http/message/BasicHeaderValueFormatter.html#formatElements(org.apache.http.HeaderElement[], boolean, org.apache.http.message.HeaderValueFormatter)">formatElements</A></B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>[]&nbsp;elems,
               boolean&nbsp;quote,
               <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats an array of header elements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean)">formatHeaderElement</A></B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                    <A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>&nbsp;elem,
                    boolean&nbsp;quote)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats one header element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/http/message/BasicHeaderValueFormatter.html#formatHeaderElement(org.apache.http.HeaderElement, boolean, org.apache.http.message.HeaderValueFormatter)">formatHeaderElement</A></B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>&nbsp;elem,
                    boolean&nbsp;quote,
                    <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a header element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean)">formatNameValuePair</A></B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                    <A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>&nbsp;nvp,
                    boolean&nbsp;quote)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats one name-value pair, where the value is optional.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/http/message/BasicHeaderValueFormatter.html#formatNameValuePair(org.apache.http.NameValuePair, boolean, org.apache.http.message.HeaderValueFormatter)">formatNameValuePair</A></B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>&nbsp;nvp,
                    boolean&nbsp;quote,
                    <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a name-value pair.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean)">formatParameters</A></B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                 <A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>[]&nbsp;nvps,
                 boolean&nbsp;quote)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats the parameters of a header element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/http/message/BasicHeaderValueFormatter.html#formatParameters(org.apache.http.NameValuePair[], boolean, org.apache.http.message.HeaderValueFormatter)">formatParameters</A></B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>[]&nbsp;nvps,
                 boolean&nbsp;quote,
                 <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Formats a set of parameters.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#isSeparator(char)">isSeparator</A></B>(char&nbsp;ch)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether a character is a <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#SEPARATORS"><CODE>separator</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#isUnsafe(char)">isUnsafe</A></B>(char&nbsp;ch)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether a character is <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#UNSAFE_CHARS"><CODE>unsafe</CODE></A>.</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="DEFAULT"><!-- --></A><H3>
DEFAULT</H3>
<PRE>
public static final <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A> <B>DEFAULT</B></PRE>
<DL>
<DD>A default instance of this class, for use as default or fallback.
 Note that <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message"><CODE>BasicHeaderValueFormatter</CODE></A> is not a singleton, there
 can be many instances of the class itself and of derived classes.
 The instance here provides non-customized, default behavior.
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="SEPARATORS"><!-- --></A><H3>
SEPARATORS</H3>
<PRE>
public static final <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>SEPARATORS</B></PRE>
<DL>
<DD>Special characters that can be used as separators in HTTP parameters.
 These special characters MUST be in a quoted string to be used within
 a parameter value .
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.http.message.BasicHeaderValueFormatter.SEPARATORS">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="UNSAFE_CHARS"><!-- --></A><H3>
UNSAFE_CHARS</H3>
<PRE>
public static final <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>UNSAFE_CHARS</B></PRE>
<DL>
<DD>Unsafe special characters that must be escaped using the backslash
 character
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.http.message.BasicHeaderValueFormatter.UNSAFE_CHARS">Constant Field Values</A></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="BasicHeaderValueFormatter()"><!-- --></A><H3>
BasicHeaderValueFormatter</H3>
<PRE>
public <B>BasicHeaderValueFormatter</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="formatElements(org.apache.http.HeaderElement[], boolean, org.apache.http.message.HeaderValueFormatter)"><!-- --></A><H3>
formatElements</H3>
<PRE>
public static final <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>formatElements</B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>[]&nbsp;elems,
                                          boolean&nbsp;quote,
                                          <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</PRE>
<DL>
<DD>Formats an array of header elements.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>elems</CODE> - the header elements to format<DD><CODE>quote</CODE> - <code>true</code> to always format with quoted values,
                  <code>false</code> to use quotes only when necessary<DD><CODE>formatter</CODE> - the formatter to use, or <code>null</code>
                          for the <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#DEFAULT"><CODE>default</CODE></A>
<DT><B>Returns:</B><DD>the formatted header elements</DL>
</DD>
</DL>
<HR>

<A NAME="formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean)"><!-- --></A><H3>
formatElements</H3>
<PRE>
public <A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A> <B>formatElements</B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                                      <A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>[]&nbsp;elems,
                                      boolean&nbsp;quote)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean)">HeaderValueFormatter</A></CODE></B></DD>
<DD>Formats an array of header elements.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean)">formatElements</A></CODE> in interface <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the buffer to append to, or
                  <code>null</code> to create a new buffer<DD><CODE>elems</CODE> - the header elements to format<DD><CODE>quote</CODE> - <code>true</code> to always format with quoted values,
                  <code>false</code> to use quotes only when necessary
<DT><B>Returns:</B><DD>a buffer with the formatted header elements.
          If the <code>buffer</code> argument was not <code>null</code>,
          that buffer will be used and returned.</DL>
</DD>
</DL>
<HR>

<A NAME="estimateElementsLen(org.apache.http.HeaderElement[])"><!-- --></A><H3>
estimateElementsLen</H3>
<PRE>
protected int <B>estimateElementsLen</B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>[]&nbsp;elems)</PRE>
<DL>
<DD>Estimates the length of formatted header elements.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>elems</CODE> - the header elements to format, or <code>null</code>
<DT><B>Returns:</B><DD>a length estimate, in number of characters</DL>
</DD>
</DL>
<HR>

<A NAME="formatHeaderElement(org.apache.http.HeaderElement, boolean, org.apache.http.message.HeaderValueFormatter)"><!-- --></A><H3>
formatHeaderElement</H3>
<PRE>
public static final <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>formatHeaderElement</B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>&nbsp;elem,
                                               boolean&nbsp;quote,
                                               <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</PRE>
<DL>
<DD>Formats a header element.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>elem</CODE> - the header element to format<DD><CODE>quote</CODE> - <code>true</code> to always format with quoted values,
                  <code>false</code> to use quotes only when necessary<DD><CODE>formatter</CODE> - the formatter to use, or <code>null</code>
                          for the <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#DEFAULT"><CODE>default</CODE></A>
<DT><B>Returns:</B><DD>the formatted header element</DL>
</DD>
</DL>
<HR>

<A NAME="formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean)"><!-- --></A><H3>
formatHeaderElement</H3>
<PRE>
public <A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A> <B>formatHeaderElement</B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                                           <A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>&nbsp;elem,
                                           boolean&nbsp;quote)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean)">HeaderValueFormatter</A></CODE></B></DD>
<DD>Formats one header element.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean)">formatHeaderElement</A></CODE> in interface <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the buffer to append to, or
                  <code>null</code> to create a new buffer<DD><CODE>elem</CODE> - the header element to format<DD><CODE>quote</CODE> - <code>true</code> to always format with quoted values,
                  <code>false</code> to use quotes only when necessary
<DT><B>Returns:</B><DD>a buffer with the formatted header element.
          If the <code>buffer</code> argument was not <code>null</code>,
          that buffer will be used and returned.</DL>
</DD>
</DL>
<HR>

<A NAME="estimateHeaderElementLen(org.apache.http.HeaderElement)"><!-- --></A><H3>
estimateHeaderElementLen</H3>
<PRE>
protected int <B>estimateHeaderElementLen</B>(<A HREF="../../../../org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>&nbsp;elem)</PRE>
<DL>
<DD>Estimates the length of a formatted header element.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>elem</CODE> - the header element to format, or <code>null</code>
<DT><B>Returns:</B><DD>a length estimate, in number of characters</DL>
</DD>
</DL>
<HR>

<A NAME="formatParameters(org.apache.http.NameValuePair[], boolean, org.apache.http.message.HeaderValueFormatter)"><!-- --></A><H3>
formatParameters</H3>
<PRE>
public static final <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>formatParameters</B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>[]&nbsp;nvps,
                                            boolean&nbsp;quote,
                                            <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</PRE>
<DL>
<DD>Formats a set of parameters.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nvps</CODE> - the parameters to format<DD><CODE>quote</CODE> - <code>true</code> to always format with quoted values,
                  <code>false</code> to use quotes only when necessary<DD><CODE>formatter</CODE> - the formatter to use, or <code>null</code>
                          for the <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#DEFAULT"><CODE>default</CODE></A>
<DT><B>Returns:</B><DD>the formatted parameters</DL>
</DD>
</DL>
<HR>

<A NAME="formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean)"><!-- --></A><H3>
formatParameters</H3>
<PRE>
public <A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A> <B>formatParameters</B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                                        <A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>[]&nbsp;nvps,
                                        boolean&nbsp;quote)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean)">HeaderValueFormatter</A></CODE></B></DD>
<DD>Formats the parameters of a header element.
 That's a list of name-value pairs, to be separated by semicolons.
 This method will <i>not</i> generate a leading semicolon.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean)">formatParameters</A></CODE> in interface <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the buffer to append to, or
                  <code>null</code> to create a new buffer<DD><CODE>nvps</CODE> - the parameters (name-value pairs) to format<DD><CODE>quote</CODE> - <code>true</code> to always format with quoted values,
                  <code>false</code> to use quotes only when necessary
<DT><B>Returns:</B><DD>a buffer with the formatted parameters.
          If the <code>buffer</code> argument was not <code>null</code>,
          that buffer will be used and returned.</DL>
</DD>
</DL>
<HR>

<A NAME="estimateParametersLen(org.apache.http.NameValuePair[])"><!-- --></A><H3>
estimateParametersLen</H3>
<PRE>
protected int <B>estimateParametersLen</B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>[]&nbsp;nvps)</PRE>
<DL>
<DD>Estimates the length of formatted parameters.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nvps</CODE> - the parameters to format, or <code>null</code>
<DT><B>Returns:</B><DD>a length estimate, in number of characters</DL>
</DD>
</DL>
<HR>

<A NAME="formatNameValuePair(org.apache.http.NameValuePair, boolean, org.apache.http.message.HeaderValueFormatter)"><!-- --></A><H3>
formatNameValuePair</H3>
<PRE>
public static final <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>formatNameValuePair</B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>&nbsp;nvp,
                                               boolean&nbsp;quote,
                                               <A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>&nbsp;formatter)</PRE>
<DL>
<DD>Formats a name-value pair.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nvp</CODE> - the name-value pair to format<DD><CODE>quote</CODE> - <code>true</code> to always format with a quoted value,
                  <code>false</code> to use quotes only when necessary<DD><CODE>formatter</CODE> - the formatter to use, or <code>null</code>
                          for the <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#DEFAULT"><CODE>default</CODE></A>
<DT><B>Returns:</B><DD>the formatted name-value pair</DL>
</DD>
</DL>
<HR>

<A NAME="formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean)"><!-- --></A><H3>
formatNameValuePair</H3>
<PRE>
public <A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A> <B>formatNameValuePair</B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                                           <A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>&nbsp;nvp,
                                           boolean&nbsp;quote)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean)">HeaderValueFormatter</A></CODE></B></DD>
<DD>Formats one name-value pair, where the value is optional.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html#formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean)">formatNameValuePair</A></CODE> in interface <CODE><A HREF="../../../../org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the buffer to append to, or
                  <code>null</code> to create a new buffer<DD><CODE>nvp</CODE> - the name-value pair to format<DD><CODE>quote</CODE> - <code>true</code> to always format with a quoted value,
                  <code>false</code> to use quotes only when necessary
<DT><B>Returns:</B><DD>a buffer with the formatted name-value pair.
          If the <code>buffer</code> argument was not <code>null</code>,
          that buffer will be used and returned.</DL>
</DD>
</DL>
<HR>

<A NAME="estimateNameValuePairLen(org.apache.http.NameValuePair)"><!-- --></A><H3>
estimateNameValuePairLen</H3>
<PRE>
protected int <B>estimateNameValuePairLen</B>(<A HREF="../../../../org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>&nbsp;nvp)</PRE>
<DL>
<DD>Estimates the length of a formatted name-value pair.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nvp</CODE> - the name-value pair to format, or <code>null</code>
<DT><B>Returns:</B><DD>a length estimate, in number of characters</DL>
</DD>
</DL>
<HR>

<A NAME="doFormatValue(org.apache.http.util.CharArrayBuffer, java.lang.String, boolean)"><!-- --></A><H3>
doFormatValue</H3>
<PRE>
protected void <B>doFormatValue</B>(<A HREF="../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&nbsp;buffer,
                             <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;value,
                             boolean&nbsp;quote)</PRE>
<DL>
<DD>Actually formats the value of a name-value pair.
 This does not include a leading = character.
 Called from <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#formatNameValuePair(org.apache.http.NameValuePair, boolean, org.apache.http.message.HeaderValueFormatter)"><CODE>formatNameValuePair</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the buffer to append to, never <code>null</code><DD><CODE>value</CODE> - the value to append, never <code>null</code><DD><CODE>quote</CODE> - <code>true</code> to always format with quotes,
                  <code>false</code> to use quotes only when necessary</DL>
</DD>
</DL>
<HR>

<A NAME="isSeparator(char)"><!-- --></A><H3>
isSeparator</H3>
<PRE>
protected boolean <B>isSeparator</B>(char&nbsp;ch)</PRE>
<DL>
<DD>Checks whether a character is a <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#SEPARATORS"><CODE>separator</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ch</CODE> - the character to check
<DT><B>Returns:</B><DD><code>true</code> if the character is a separator,
          <code>false</code> otherwise</DL>
</DD>
</DL>
<HR>

<A NAME="isUnsafe(char)"><!-- --></A><H3>
isUnsafe</H3>
<PRE>
protected boolean <B>isUnsafe</B>(char&nbsp;ch)</PRE>
<DL>
<DD>Checks whether a character is <A HREF="../../../../org/apache/http/message/BasicHeaderValueFormatter.html#UNSAFE_CHARS"><CODE>unsafe</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ch</CODE> - the character to check
<DT><B>Returns:</B><DD><code>true</code> if the character is unsafe,
          <code>false</code> otherwise</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/BasicHeaderValueFormatter.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/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/http/message/BasicHeaderValueFormatter.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BasicHeaderValueFormatter.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>
Copyright &#169; 2005-2012 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
