Location: PHPKode > projects > PhpiCalLib > doc/PhpiCalLib/PhpiCalLib_Component.html
<?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 PhpiCalLib_Component</title>
			<link rel="stylesheet" href="../media/stylesheet.css" />
			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
		</head>
		<body>
			<div class="page-body">			

<h2 class="class-name">Class PhpiCalLib_Component</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-descendents">Descendents</a>
			|											<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 ========= -->
<p class="short-description">An iCalendar Component</p>
		<p class="notes">
			Located in <a class="field" href="_components.php.html">/components.php</a> (line <span class="field">54</span>)
		</p>
		
				
		<pre></pre>
	
			</div>
</div>

	<a name="sec-descendents"></a>
	<div class="info-box">
		<div class="info-box-title">Direct descendents</div>
		<div class="nav-bar">
			<a href="#sec-description">Description</a> |
			<span class="disabled">Descendents</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">
			<table cellpadding="2" cellspacing="0" class="class-table">
				<tr>
					<th class="class-table-header">Class</th>
					<th class="class-table-header">Description</th>
				</tr>
								<tr>
					<td style="padding-right: 2em"><a href="../PhpiCalLib/PhpiCalLib_Event.html">PhpiCalLib_Event</a></td>
					<td>
											An eventc iCalendar component
										</td>
				</tr>
								<tr>
					<td style="padding-right: 2em"><a href="../PhpiCalLib/PhpiCalLib_iCalendar.html">PhpiCalLib_iCalendar</a></td>
					<td>
											The top level class of PhpiCalLib, representing the contents of an iCalendar file
										</td>
				</tr>
							</table>
		</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> |
							<a href="#sec-descendents">Descendents</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">array</span>
					<a href="#$aContentLines" title="details" class="var-name">$aContentLines</a>
				</div>
																<div class="var-title">
					<span class="var-type">array</span>
					<a href="#$aPermittedProperties" title="details" class="var-name">$aPermittedProperties</a>
				</div>
																<div class="var-title">
					<span class="var-type">string</span>
					<a href="#$Name" title="details" class="var-name">$Name</a>
				</div>
																<div class="var-title">
					<span class="var-type">integer</span>
					<a href="#$Type" title="details" class="var-name">$Type</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-descendents">Descendents</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">
					static 						<span class="method-result">int</span>
										<a href="#ToComponentType" title="details" class="method-name">ToComponentType</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
									</div>
																
												<div class="method-definition">
											<span class="method-result">PhpiCalLib_Component</span>
										<a href="#__construct" title="details" class="method-name">__construct</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#AddProperty" title="details" class="method-name">AddProperty</a>
											(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#AddPropertyPermitted" title="details" class="method-name">AddPropertyPermitted</a>
											(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">A</span>
										<a href="#Create" title="details" class="method-name">Create</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$aProperties</span>)
									</div>
																<div class="method-definition">
											<span class="method-result"><a href="../PhpiCalLib/PhpiCalLib_Component.html">PhpiCalLib_Component</a></span>
										<a href="#CreateComponent" title="details" class="method-name">CreateComponent</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">returns</span>
										<a href="#GetName" title="details" class="method-name">GetName</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">array</span>
										<a href="#GetProperties" title="details" class="method-name">GetProperties</a>
											([<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span> = <span class="var-default">null</span>], [<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">A</span>
										<a href="#GetProperty" title="details" class="method-name">GetProperty</a>
											(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">PHPICALLIB_COMPONENTS_*</span>
										<a href="#GetType" title="details" class="method-name">GetType</a>
										()
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#RemoveProperty" title="details" class="method-name">RemoveProperty</a>
											(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span> = <span class="var-default">null</span>])
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#RemovePropertyPermitted" title="details" class="method-name">RemovePropertyPermitted</a>
											(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#SetName" title="details" class="method-name">SetName</a>
											(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#SetProperties" title="details" class="method-name">SetProperties</a>
											(<span class="var-type">PhpiCalLib_ContentLines</span>&nbsp;<span class="var-name">$aContentLines</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#SetProperty" title="details" class="method-name">SetProperty</a>
											(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#SetPropertyPermitted" title="details" class="method-name">SetPropertyPermitted</a>
											(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
									</div>
																<div class="method-definition">
											<span class="method-result">void</span>
										<a href="#SetType" title="details" class="method-name">SetType</a>
											(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>)
									</div>
																								<div class="method-definition">
											<span class="method-result">An</span>
										<a href="#ToString" title="details" class="method-name">ToString</a>
										()
									</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-descendents">Descendents</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$aContentLines" id="$aContentLines"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">array</span>
			<span class="var-name">$aContentLines</span>
			 = <span class="var-default">array()</span>			(line <span class="line-number">66</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">var:</span> The content lines of this component</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$aPermittedProperties" id="$aPermittedProperties"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">array</span>
			<span class="var-name">$aPermittedProperties</span>
			 = <span class="var-default">array()</span>			(line <span class="line-number">128</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Info about which properties are permitted for this component</p>
<p class="description"><p>Empty array means all properties are permitted.  Each entry is keyed  by id.  The values indicate the min and max number of instances.  For  example, the spec says this for VALARM.  <a href="http://tools.ietf.org/html/draft-ietf-calsify-rfc2445bis-08#section-3.6.6">http://tools.ietf.org/html/draft-ietf-calsify-rfc2445bis-08#section-3.6.6</a>  <pre>        audioprop  = *(
                   ; 'action' and 'trigger' are both REQUIRED,
                   ; but MUST NOT occur more than once
                   action / trigger /

                   ; 'duration' and 'repeat' are both OPTIONAL,
                   ; and MUST NOT occur more than once each,
                   ; but if one occurs, so MUST the other
                   duration / repeat /

                   ; the following is OPTIONAL,
                   ; but MUST NOT occur more than once
                   attach /

                   ; the following is OPTIONAL,
                   ; and MAY occur more than once
                   x-prop / iana-prop
                   )</pre></p><p>This would be implemented as:</p><p><div class="src-code"><ol><li><div class="src-line">&nbsp;<span class="src-var">$this</span><span class="src-sym">-&gt;</span><span class="src-id"><a href="../PhpiCalLib/PhpiCalLib_Component.html#var$aPermittedProperties">aPermittedProperties</a>&nbsp;</span>=&nbsp;<span class="src-key">array</span><span class="src-sym">(</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;'action'&nbsp;and&nbsp;'trigger'&nbsp;are&nbsp;both&nbsp;REQUIRED,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;but&nbsp;MUST&nbsp;NOT&nbsp;occur&nbsp;more&nbsp;than&nbsp;once</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action&nbsp;/&nbsp;trigger&nbsp;/</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../PhpiCalLib/_contentline.php.html#definePHPICALLIB_PROPERTY_ACTION">PHPICALLIB_PROPERTY_ACTION</a>&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">,</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../PhpiCalLib/_contentline.php.html#definePHPICALLIB_PROPERTY_TRIGGER">PHPICALLIB_PROPERTY_TRIGGER</a>&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">,</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;'duration'&nbsp;and&nbsp;'repeat'&nbsp;are&nbsp;both&nbsp;OPTIONAL,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;and&nbsp;MUST&nbsp;NOT&nbsp;occur&nbsp;more&nbsp;than&nbsp;once&nbsp;each,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;but&nbsp;if&nbsp;one&nbsp;occurs,&nbsp;so&nbsp;MUST&nbsp;the&nbsp;other</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;duration&nbsp;/&nbsp;repeat&nbsp;/</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../PhpiCalLib/_contentline.php.html#definePHPICALLIB_PROPERTY_DURATION">PHPICALLIB_PROPERTY_DURATION</a>&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">,</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id">PHPICALLIB_PROPERTY_&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">,</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;the&nbsp;following&nbsp;is&nbsp;OPTIONAL,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;but&nbsp;MUST&nbsp;NOT&nbsp;occur&nbsp;more&nbsp;than&nbsp;once</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attach&nbsp;/</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../PhpiCalLib/_contentline.php.html#definePHPICALLIB_PROPERTY_ATTACH">PHPICALLIB_PROPERTY_ATTACH</a>&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">,</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;the&nbsp;following&nbsp;is&nbsp;OPTIONAL,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;and&nbsp;MAY&nbsp;occur&nbsp;more&nbsp;than&nbsp;once</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-comm">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x-prop&nbsp;/&nbsp;iana-prop</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../PhpiCalLib/_contentline.php.html#definePHPICALLIB_PROPERTY_XPROP">PHPICALLIB_PROPERTY_XPROP</a>&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">,</span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-id"><a href="../PhpiCalLib/_contentline.php.html#definePHPICALLIB_PROPERTY_IANAPROP">PHPICALLIB_PROPERTY_IANAPROP</a>&nbsp;</span>=&gt;&nbsp;<span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">,</span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
</ol></div></p><p>Note that this mechanism isn't sufficient to ensure the component only has valid  properties, for example two properties may be mutually exclusive.  Where that is the  case the user should override (@link AddPropertyPermitted()}, <a href="../PhpiCalLib/PhpiCalLib_Component.html#methodRemovePropertyPermitted">RemovePropertyPermitted</a> or  <a href="../PhpiCalLib/PhpiCalLib_Component.html#methodSetPropertyPermitted">SetPropertyPermitted</a> to make sure that any remaining rules have been followed.</p></p>
	<ul class="tags">
				<li><span class="field">var:</span> Keyed by PHPICALLIB_PROPERTY_* ids, value is an array(mininstances, maxinstances)</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$Name" id="$Name"><!-- --></A>
<div class="evenrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">string</span>
			<span class="var-name">$Name</span>
			 = <span class="var-default"> ''</span>			(line <span class="line-number">58</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">var:</span> The name of this component</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>
<a name="var$Type" id="$Type"><!-- --></A>
<div class="oddrow">

	<div class="var-header">
		<span class="var-title">
			<span class="var-type">integer</span>
			<span class="var-name">$Type</span>
			 = <span class="var-default"> 0</span>			(line <span class="line-number">62</span>)
		</span>
	</div>

	<!-- ========== Info from phpDoc block ========= -->
	<ul class="tags">
				<li><span class="field">var:</span> The type of this component</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	
		
		

</div>

						
		</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-descendents">Descendents</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="methodToComponentType" id="ToComponentType"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">static method ToComponentType</span> (line <span class="line-number">158</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Convert a component name to it's defined type</p>
	<ul class="tags">
				<li><span class="field">return:</span> one of the PHPICALLIB_COMPONENT_* properties</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
	    static
		<span class="method-result">int</span>
		<span class="method-name">
			ToComponentType
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span><span class="var-description">: a &quot;name&quot; RFC2445 token</span>			</li>
				</ul>
		
			
	</div>

<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">149</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">PhpiCalLib_Component</span>
		<span class="method-name">
			__construct
		</span>
				()
			</div>
	
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../PhpiCalLib/PhpiCalLib_Event.html#method__construct">PhpiCalLib_Event::__construct()</a>
							</li>
					<li>
				<a href="../PhpiCalLib/PhpiCalLib_iCalendar.html#method__construct">PhpiCalLib_iCalendar::__construct()</a>
								: Consturctor
							</li>
				</ul>
	</div>
<a name="methodAddProperty" id="AddProperty"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">AddProperty</span> (line <span class="line-number">381</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Add the property to the component</p>
	<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">
			AddProperty
		</span>
					(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>
				<span class="var-name">$ContentLine</span><span class="var-description">: The property to set</span>			</li>
				</ul>
		
			
	</div>
<a name="methodAddPropertyPermitted" id="AddPropertyPermitted"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">AddPropertyPermitted</span> (line <span class="line-number">482</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Determine if the given property is permitted for addition</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			AddPropertyPermitted
		</span>
					(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>
				<span class="var-name">$ContentLine</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../PhpiCalLib/PhpiCalLib_Event.html#methodAddPropertyPermitted">PhpiCalLib_Event::AddPropertyPermitted()</a>
								: Overridden because events have further rules to validate
							</li>
				</ul>
	</div>
<a name="methodCreate" id="Create"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">Create</span> (line <span class="line-number">451</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Create a component object from it's name and it's properties, returning the new object</p>
	<ul class="tags">
				<li><span class="field">return:</span> PhpiCalLib_Component derived class, according to what CreateComponent returned</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">A</span>
		<span class="method-name">
			Create
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$aProperties</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span><span class="var-description">: The name of the component to create</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$aProperties</span><span class="var-description">: An array of the properties of this component</span>			</li>
				</ul>
		
			
	</div>
<a name="methodCreateComponent" id="CreateComponent"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">CreateComponent</span> (line <span class="line-number">438</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Create a new Component object</p>
<p class="description"><p>A component would override this class, providing a new version of this function  in order to choose the right kind of class to create.</p></p>
	<ul class="tags">
				<li><span class="field">return:</span> derived class</li>
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result"><a href="../PhpiCalLib/PhpiCalLib_Component.html">PhpiCalLib_Component</a></span>
		<span class="method-name">
			CreateComponent
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span><span class="var-description">: The name of the component</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../PhpiCalLib/PhpiCalLib_iCalendar.html#methodCreateComponent">PhpiCalLib_iCalendar::CreateComponent()</a>
								: Overridden to create the right kind of component
							</li>
				</ul>
	</div>
<a name="methodGetName" id="GetName"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">GetName</span> (line <span class="line-number">179</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Obtain the name of the component</p>
	<ul class="tags">
				<li><span class="field">return:</span> the name of the component</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">returns</span>
		<span class="method-name">
			GetName
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodGetProperties" id="GetProperties"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">GetProperties</span> (line <span class="line-number">260</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get all the properties of the given type/name</p>
	<ul class="tags">
				<li><span class="field">return:</span> of matching PhpiCalLib_ContentLine objects, empty array of no content lines matched</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">array</span>
		<span class="method-name">
			GetProperties
		</span>
					([<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span> = <span class="var-default">null</span>], [<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">integer</span>
				<span class="var-name">$Type</span><span class="var-description">: The type of the property to return.  Null means return all properties</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span><span class="var-description">: The name of the property, necessary if $Type is PHPICALLIB_PROPERTY_XPROP or                      PHPICALLIB_PROPERTY_IANAPROP.  If null, all properties of these types will be returned.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodGetProperty" id="GetProperty"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">GetProperty</span> (line <span class="line-number">303</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Get a single property of the given type/name</p>
	<ul class="tags">
				<li><span class="field">return:</span> single PhpiCalLib_ContentLine derived object, or null if no propety of the given type was found.</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">A</span>
		<span class="method-name">
			GetProperty
		</span>
					(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">integer</span>
				<span class="var-name">$Type</span><span class="var-description">: The type of the property to return.  Null means return all properties</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span><span class="var-description">: The name of the property, necessary if $Type is PHPICALLIB_PROPERTY_XPROP or                      PHPICALLIB_PROPERTY_IANAPROP.  If null, all properties of these types will be returned.</span>			</li>
				</ul>
		
			
	</div>
<a name="methodGetType" id="GetType"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">GetType</span> (line <span class="line-number">229</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Access the component type</p>
<p class="description"><p>Note this will return PHPICALLIB_COMPONENT_IANACOMP or PHPICALLIB_COMPONENT_XCOMP for components that it doesn't recognize</p></p>
	<ul class="tags">
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">PHPICALLIB_COMPONENTS_*</span>
		<span class="method-name">
			GetType
		</span>
				()
			</div>
	
		
			
	</div>
<a name="methodRemoveProperty" id="RemoveProperty"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">RemoveProperty</span> (line <span class="line-number">395</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Delete all the properties of the given type</p>
	<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">
			RemoveProperty
		</span>
					(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span> = <span class="var-default">null</span>])
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">integer</span>
				<span class="var-name">$Type</span><span class="var-description">: The PHPICALLIB_PROPERTY_? type of the property</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span><span class="var-description">: The name of the property, used when $Type = PHPICALLIB_PROPERTY_XPROP or                      PHPICALLIB_PROPERTY_IANAPROP.  If empty all properties of either type will be deleted</span>			</li>
				</ul>
		
			
	</div>
<a name="methodRemovePropertyPermitted" id="RemovePropertyPermitted"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">RemovePropertyPermitted</span> (line <span class="line-number">527</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Determine if we are allowed to remove the given property</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			RemovePropertyPermitted
		</span>
					(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">integer</span>
				<span class="var-name">$Type</span>			</li>
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span>			</li>
				</ul>
		
			
	</div>
<a name="methodSetName" id="SetName"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">SetName</span> (line <span class="line-number">191</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Set the new name for the property</p>
	<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">
			SetName
		</span>
					(<span class="var-type">string</span>&nbsp;<span class="var-name">$Name</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">string</span>
				<span class="var-name">$Name</span>			</li>
				</ul>
		
			
	</div>
<a name="methodSetProperties" id="SetProperties"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">SetProperties</span> (line <span class="line-number">333</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Set the content lines for the component, replacing any existing properties</p>
	<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">
			SetProperties
		</span>
					(<span class="var-type">PhpiCalLib_ContentLines</span>&nbsp;<span class="var-name">$aContentLines</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">PhpiCalLib_ContentLines</span>
				<span class="var-name">$aContentLines</span>			</li>
				</ul>
		
			
	</div>
<a name="methodSetProperty" id="SetProperty"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">SetProperty</span> (line <span class="line-number">366</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Sets a property, replacing any existing values of the same type</p>
	<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">
			SetProperty
		</span>
					(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>
				<span class="var-name">$ContentLine</span><span class="var-description">: The property to set</span>			</li>
				</ul>
		
			
	</div>
<a name="methodSetPropertyPermitted" id="SetPropertyPermitted"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">SetPropertyPermitted</span> (line <span class="line-number">463</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Determine if the given property can be changed</p>
	<ul class="tags">
				<li><span class="field">access:</span> protected</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">void</span>
		<span class="method-name">
			SetPropertyPermitted
		</span>
					(<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>&nbsp;<span class="var-name">$ContentLine</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type"><a href="../PhpiCalLib/PhpiCalLib_ContentLine.html">PhpiCalLib_ContentLine</a></span>
				<span class="var-name">$ContentLine</span>			</li>
				</ul>
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../PhpiCalLib/PhpiCalLib_Event.html#methodSetPropertyPermitted">PhpiCalLib_Event::SetPropertyPermitted()</a>
								: Overridden because events have further rules to validate
							</li>
				</ul>
	</div>
<a name="methodSetType" id="SetType"><!-- --></a>
<div class="evenrow">
	
	<div class="method-header">
		<span class="method-title">SetType</span> (line <span class="line-number">238</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Set the type of the component</p>
	<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">
			SetType
		</span>
					(<span class="var-type">integer</span>&nbsp;<span class="var-name">$Type</span>)
			</div>
	
			<ul class="parameters">
					<li>
				<span class="var-type">integer</span>
				<span class="var-name">$Type</span>			</li>
				</ul>
		
			
	</div>
<a name="methodToString" id="ToString"><!-- --></a>
<div class="oddrow">
	
	<div class="method-header">
		<span class="method-title">ToString</span> (line <span class="line-number">563</span>)
	</div> 
	
	<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Dump the parameter to an array of unfolded content lines</p>
	<ul class="tags">
				<li><span class="field">return:</span> string array representation in the default code page</li>
				<li><span class="field">access:</span> public</li>
			</ul>
	
	<div class="method-signature">
		<span class="method-result">An</span>
		<span class="method-name">
			ToString
		</span>
				()
			</div>
	
		
			
			<hr class="separator" />
		<div class="notes">Redefined in descendants as:</div>
		<ul class="redefinitions">
					<li>
				<a href="../PhpiCalLib/PhpiCalLib_iCalendar.html#methodToString">PhpiCalLib_iCalendar::ToString()</a>
								: Dump the object to a string
							</li>
				</ul>
	</div>
						
		</div>
	</div>


	<p class="notes" id="credit">
		Documentation generated on Tue, 01 Apr 2008 01:07:07 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
	</p>
	</div></body>
</html>
Return current item: PhpiCalLib