<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos  -->
			<title>Docs For Class LoggerLiteralPatternConverter</title>
			<link rel="stylesheet" href="../../media/stylesheet.css" />
						<script src="../../media/lib/classTree.js"></script>
												<script language="javascript" type="text/javascript">
				var imgPlus = new Image();
				var imgMinus = new Image();
				imgPlus.src = "../../media/images/plus.png";
				imgMinus.src = "../../media/images/minus.png";
				
				function showNode(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
							var oImg = document.layers["img" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
							var oImg = document.all["img" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
							var oImg = document.getElementById("img" + Node);
									break;
							}
					oImg.src = imgMinus.src;
					oTable.style.display = "block";
				}
				
				function hideNode(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
							var oImg = document.layers["img" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
							var oImg = document.all["img" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
							var oImg = document.getElementById("img" + Node);
									break;
							}
					oImg.src = imgPlus.src;
					oTable.style.display = "none";
				}
				
				function nodeIsVisible(Node){
							switch(navigator.family){
								case 'nn4':
									// Nav 4.x code fork...
							var oTable = document.layers["span" + Node];
									break;
								case 'ie4':
									// IE 4/5 code fork...
							var oTable = document.all["span" + Node];
									break;
								case 'gecko':
									// Standards Compliant code fork...
							var oTable = document.getElementById("span" + Node);
									break;
							}
					return (oTable && oTable.style.display == "block");
				}
				
				function toggleNodeVisibility(Node){
					if (nodeIsVisible(Node)){
						hideNode(Node);
					}else{
						showNode(Node);
					}
				}
			</script>
					</head>
		<body>
			<div class="page-body">			
<h2 class="class-name">Class LoggerLiteralPatternConverter</h2>

<a name="sec-description"></a>
<div class="info-box">
	<div class="info-box-title">Description</div>
	<div class="nav-bar">
					<span class="disabled">Description</span> |
													<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
						|											<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
						
					</div>
	<div class="info-box-body">
        		<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">version:</span> $Revision: 1166187 $</li>
			</ul>
		<p class="notes">
			Located in <a class="field" href="_helpers---LoggerLiteralPatternConverter.php.html">/helpers/LoggerLiteralPatternConverter.php</a> (line <span class="field">25</span>)
		</p>
		
				
		<pre><a href="../../log4php/helpers/LoggerPatternConverter.html">LoggerPatternConverter</a>
   |
   --LoggerLiteralPatternConverter</pre>
	
			</div>
</div>



	<a name="sec-var-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Variable Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
						<span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
							| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
								</div>
		<div class="info-box-body">
			<div class="var-summary">
																								<div class="var-title">
					<span class="var-type">string</span>
					<a href="#$literal" title="details" class="var-name">$literal</a>
				</div>
											</div>
		</div>
	</div>

	<a name="sec-method-summary"></a>
	<div class="info-box">
		<div class="info-box-title">Method Summary</span></div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
																		<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
				 
				|
						<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
		</div>
		<div class="info-box-body">			
			<div class="method-summary">
																																						
				<div class="method-definition">
											<span class="method-result">LoggerLiteralPatternConverter</span>
										<a href="#__construct" title="details" class="method-name">__construct</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$value</span>)
									</div>
														
				<div class="method-definition">
											<span class="method-result">string</span>
										<a href="#convert" title="details" class="method-name">convert</a>
											(<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>&nbsp;<span class="var-name">$event</span>)
									</div>
														
				<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#format" title="details" class="method-name">format</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">&$sbuf</span>, <span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>&nbsp;<span class="var-name">$event</span>)
									</div>
											</div>
		</div>
	</div>		

	<a name="sec-vars"></a>
	<div class="info-box">
		<div class="info-box-title">Variables</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
										<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
						
			
										| 
									<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
							
					</div>
		<div class="info-box-body">
			<a name="var$literal" id="$literal"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$literal</span>
						(line <span class="line-number">30</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> private</li>
			</ul>
	
	
		
		

</div>
							<h4>Inherited Variables</h4>
				<A NAME='inherited_vars'><!-- --></A>
									<p>Inherited from <span class="classname"><a href="../../log4php/helpers/LoggerPatternConverter.html">LoggerPatternConverter</a></span></p>
					<blockquote>
													<span class="var-title">
								<span class="var-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#var$leftAlign">LoggerPatternConverter::$leftAlign</a></span><br>
							</span>
													<span class="var-title">
								<span class="var-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#var$max">LoggerPatternConverter::$max</a></span><br>
							</span>
													<span class="var-title">
								<span class="var-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#var$min">LoggerPatternConverter::$min</a></span><br>
							</span>
													<span class="var-title">
								<span class="var-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#var$next">LoggerPatternConverter::$next</a></span><br>
							</span>
													<span class="var-title">
								<span class="var-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#var$spaces">LoggerPatternConverter::$spaces</a></span><br>
							</span>
											</blockquote> 
										
		</div>
	</div>
	
	<a name="sec-methods"></a>
	<div class="info-box">
		<div class="info-box-title">Methods</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
															<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
																	<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
						
		</div>
		<div class="info-box-body">
			<A NAME='method_detail'></A>
<a name="method__construct" id="__construct"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">Constructor __construct</span> (line <span class="line-number">37</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Constructor</p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">LoggerLiteralPatternConverter</span>
		<span class="method-name">
			__construct
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$value</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$value</span>			</li>
				</ul>
		
			<hr class="separator" />
		<div class="notes">Redefinition of:</div>
		<dl>
			<dt><a href="../../log4php/helpers/LoggerPatternConverter.html#method__construct">LoggerPatternConverter::__construct()</a></dt>
						<dd>Constructor</dd>
					</dl>
			
	</div>
<a name="methodconvert" id="convert"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">convert</span> (line <span class="line-number">53</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">string</span>
		<span class="method-name">
			convert
		</span>
					(<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>&nbsp;<span class="var-name">$event</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>
				<span class="var-name">$event</span>			</li>
				</ul>
		
			<hr class="separator" />
		<div class="notes">Redefinition of:</div>
		<dl>
			<dt><a href="../../log4php/helpers/LoggerPatternConverter.html#methodconvert">LoggerPatternConverter::convert()</a></dt>
						<dd>Derived pattern converters must override this method in order to  convert conversion specifiers in the correct way.</dd>
					</dl>
			
	</div>
<a name="methodformat" id="format"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">format</span> (line <span class="line-number">45</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			format
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">&$sbuf</span>, <span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>&nbsp;<span class="var-name">$event</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">&$sbuf</span>			</li>
					<li>
				<span class="var-type"><a href="../../log4php/LoggerLoggingEvent.html">LoggerLoggingEvent</a></span>
				<span class="var-name">$event</span>			</li>
				</ul>
		
			<hr class="separator" />
		<div class="notes">Redefinition of:</div>
		<dl>
			<dt><a href="../../log4php/helpers/LoggerPatternConverter.html#methodformat">LoggerPatternConverter::format()</a></dt>
						<dd>A template method for formatting in a converter specific way.</dd>
					</dl>
			
	</div>
							<h4>Inherited Methods</h4>
				<a name='inherited_methods'><!-- --></a>	
									<!-- =========== Summary =========== -->
					<p>Inherited From <span class="classname"><a href="../../log4php/helpers/LoggerPatternConverter.html">LoggerPatternConverter</a></span></p>
					<blockquote>
													<span class="method-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#method__construct">LoggerPatternConverter::__construct()</a></span><br>
													<span class="method-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#methodconvert">LoggerPatternConverter::convert()</a></span><br>
													<span class="method-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#methodformat">LoggerPatternConverter::format()</a></span><br>
													<span class="method-name"><a href="../../log4php/helpers/LoggerPatternConverter.html#methodspacePad">LoggerPatternConverter::spacePad()</a></span><br>
											</blockquote>
										
		</div>
	</div>


	<p class="notes" id="credit">
		Documentation generated on Sat, 18 Feb 2012 22:32:25 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
	</p>
	</div></body>
</html>