<br style="clear:both;height:1em;">
	<div id="leftcol">
		<div class="nav-logo">
			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
		</div>
		<ul id="leftnav">
		<li class="partentry" >
		Documentation
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="01-Introduction.php">Introduction</a></div>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="02-GettingStarted.php">Getting Started</a></div>
		<ul style="display: none;" id="subToc_02-GettingStarted.html">
		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
		</ul>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="03-Components.php">Components</a></div>
		<ul style="display: none;" id="subToc_03-Components.html">
		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
		</ul>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="04-Customization.php">Customization</a></div>
		<ul style="display: none;" id="subToc_04-Customization.html">
		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
		</ul>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="05-DSL.php">EMF Parsley DSL</a></div>
		<ul style="display: none;" id="subToc_05-DSL.html">
		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
		</ul>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="07-Eclipse4.php">Eclipse 4</a></div>
		<ul style="display: none;" id="subToc_07-Eclipse4.html">
		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFParsley.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFParsley.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
		</ul>
		</li>
		<li class="partentry" >
		Appendix
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="GettingSources.php">Getting Sources</a></div>
		</li>
		<li class="separator"><div class="separator">
		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
		<a href="Downloads.php">EMF Parsley - Downloads</a></div>
		</li>
		</ul>
	</div>
	<div id="midcolumn">
		<a name="GettingStarted" ></a>
		<h1>Getting Started</h1>
				<div class="toc">
				  <ul>
				    <li><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
				    <li><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
				    <li><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
				  </ul>
				</div>
				
		<p>
		To get started, you may download &quot;Eclipse Modeling Tools&quot; or &quot;Eclipse IDE for Java and DSL Developers&quot; from <a href="http://www.eclipse.org/downloads/" >Eclipse
		Downloads</a>.
		</p>
		<p>
		This will ensure you have EMF and related Tools installed and ready to go (you may as well use any other Eclipse package, provided that you have installed
		also EMF and its tools).
		</p>
		<a name="Installation" ></a>
		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
			padding: 5px 0;
			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
			<br style="clear:both"></br>
			<h1>Installation</h1>
			<p>
			Now select &quot;Help&quot; -&gt; &quot;Install New Software...&quot; and in the &quot;Work with:&quot; field insert the EMF Parsley update
			site <a href="http://download.eclipse.org/emf-parsley/updates" >http://download.eclipse.org/emf-parsley/updates</a>
			and install all features.
			Although sources are not strictly required, it might help when using EMF Parsley
			to have a look at its sources.
			</p>
			<p>
			<div class="image" >
			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/emf-parsley-update-site.png">
				<img src="images/emf-parsley-update-site.png" 
					width="600px"
				/>
			</a>
			<div class="caption">
			</div>
			</div>
			</p>
		<a name="FirstExample" ></a>
		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
			padding: 5px 0;
			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
			<br style="clear:both"></br>
			<h1>First Example</h1>
			<p>
			The purpose of this first example is to make use of the classical EMF Library Model example and
			create a view for editing such models using an EMF Parsley enabled plug-in.
			</p>
			<p>
			So let's start by creating the model plug-in with
			</p>
			<p>
			<ol>
			  <li>File -&gt; New... -&gt; Example...</li>
			  <li>from Category &quot;Eclipse Modeling Framework&quot;, select &quot;Extended Library Model Example&quot;</li>
			  <li>press Next and Finish</li>
			</ol>
			</p>
			<p>
			You will end up with three plug-ins: 
			</p>
			<p>
			<ul>
			  <li>org.eclipse.emf.examples.library (the model plug-in)</li>
			  <li>org.eclipse.emf.examples.library.edit (the edit plug-in)</li>
			  <li>org.eclipse.emf.examples.library.editor (the editor plug-in)</li>
			</ul>
			</p>
			<p>
			Please consider that here we are starting from this well known EMF model taken out-of-the-box from Eclipse,
			but you can start from your EMF model (in that case you may probably omit the &quot;.edit&quot; and &quot;.editor&quot; plugins, depending on your model).
			</p>
			<p>
			Now you can create your first example with the appropriate wizard.
			</p>
			<p>
			<ol>
			  <li>select &quot;File&quot; -&gt; &quot;New&quot; -&gt; &quot;Project...&quot;</li>
			  <li>from the &quot;Emf Parsley&quot; category select &quot;Emf Parsley Dsl based Project&quot;</li>
			  <li>click &quot;Next&quot;</li>
			  <li>give a name to the project (e.g. &quot;org.eclipse.emf.parsley.examples.firstexample&quot;)</li>
			  <li>click &quot;Finish&quot;</li>
			</ol>
			
			 
			The generated project has some classes and a <em>module.parlsey</em> file, which opens automatically.
			Just type the following content into the {} block (note that context assist is available)
			</p>
			<p>
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">parts</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">viewpart</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.view.library.treeform&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">viewname</span>&nbsp;<span class="string">"My&nbsp;Library&nbsp;Tree&nbsp;Form"</span><br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">viewclass</span>&nbsp;<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						}
					</p>
				</div>
			</div>
			</p>
			<p>
			Here above we have just declared a view part with
			 
			<ol>
			  <li>id <em>&quot;org.eclipse.emf.parsley.examples.firstexample.view.library.treeform&quot;</em></li>
			  <li>name <em>&quot;Library Tree Form&quot;</em></li>
			  <li>class: not yet set, we are going to create
			  		 <em>&quot;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView&quot;</em></li>
			</ol>
			</p>
			<p>
			So there is still an error, in fact we need to create the declared class. 
			<em>Suggestion:</em> Just copy the above qualified class name (<em>&quot;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView&quot;</em>), 
			select the project, right-click and select File -&gt; New -&gt; Class. Now paste the clipboard content into <em>&quot;Name:&quot;</em> field: the
			package and class name will be automatically splitted into right fields. Then click <em>&quot;Finish&quot;</em>.
			</p>
			<p>
			Now modify the view class code with this content:
			</p>
			<p>
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.views.AbstractSaveableTreeFormView;<br/>
						<span class="keyword">import</span>&nbsp;org.eclipse.emf.common.util.URI;<br/>
						<br/>
						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryTreeFormView&nbsp;<span class="keyword">extends</span>&nbsp;AbstractSaveableTreeFormView&nbsp;{<br/>
						<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;URI&nbsp;createResourceURI()&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;URI.createFileURI(&nbsp;System.getProperty(<span class="string">"user.home"</span>)&nbsp;+&nbsp;<span class="string">"/MyLibrary.library"</span>&nbsp;);<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						<br/>
						}
					</p>
				</div>
			</div>
			</p>
			<p>
			Now get back to <em>module.parlsey</em> file, go just after <em>&quot;viewclass&quot;</em> keyword, type <em>&quot;LibraryTreeFormView&quot;</em>
			and <em>Ctrl-Space</em>: the content assist will set automatically the correct qualified name
			</p>
			<p>
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">viewclass</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView
					</p>
				</div>
			</div>
			</p>
			<p>
			when you save the above file you will notice that a new file (<em>&quot;plugin.xml_emfparsley_gen&quot;</em>) 
			is generated into the root folder of your project. Just copy this file into <em>&quot;plugin.xml&quot;</em>.
			</p>
			<p>
			Let's focus briefly on the above <em>createResourceURI()</em> method: our goal is allowing to manage 
			a library model instance which persists on a EMF Resource.
			In this example we choose to use the EMF default persistence (XMI), but you can provide any URI 
			(e.g. using Teneo, CDO or any other EMF Resource Persistence implementation)
			In particular here we choose to persist the Resource in a XMI file named <em>&quot;MyLibrary.library&quot;</em> into the user home
			folder (you might want to change it with any other path). 
			</p>
			<p>
			We need a <em>Dependency</em> from the model plug-in: so open <em>MANIFEST.MF</em> file, go to <em>Dependencies</em>
			tab, press <em>&quot;Add...&quot;</em> button in <em>&quot;Required Plug-ins&quot;</em> section and insert <em>&quot;org.eclipse.emf.examples.library&quot;</em>
			among dependencies.
			</p>
			<p>
			Before executing this code we need to do some little more work in order to initialize the Resource.
			</p>
			<p>
			An easy way to overcome this issue can be the following:
			</p>
			<p>
			<ol>
			  <li>open the class *GuiceModule (FirstexampleGuiceModule in this example) that the wizard created for you.
			  	Note that this is a key	class for all customizations; it allows to override several methods in order to provide custom behaviors
			  	and implementations.</li>
			  <li>override method <em>bindEmptyResourceInitializer()</em> providing a class for Resource initialization
			  	
			  		<div class="literallayout">
			  	<div class="incode">
			  		<p class="code">
			  			<span class="keyword">public</span>&nbsp;Class&lt;?&nbsp;<span class="keyword">extends</span>&nbsp;EmptyResourceInitializer&gt;&nbsp;bindEmptyResourceInitializer()&nbsp;{<br/>
			  			&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;LibraryEmptyResourceInitializer.<span class="keyword">class</span>;<br/>
			  			}
			  		</p>
			  	</div>
			  </div>
			  
			  </li>
			  <li>create a new class <em>LibraryEmptyResourceInitializer</em> extending from <em>EmptyResourceInitializer</em> for Resource initialization
			  		<div class="literallayout">
			  	<div class="incode">
			  		<p class="code">
			  			<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.resource.EmptyResourceInitializer;<br/>
			  			<span class="keyword">import</span>&nbsp;org.eclipse.emf.ecore.resource.Resource;<br/>
			  			<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryFactory;<br/>
			  			<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.Library;<br/>
			  			<br/>
			  			<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEmptyResourceInitializer&nbsp;&nbsp;<span class="keyword">extends</span>&nbsp;EmptyResourceInitializer&nbsp;{&nbsp;<br/>
			  			&nbsp;&nbsp;&nbsp;&nbsp;<br/>
			  			&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">void</span>&nbsp;initialize(Resource&nbsp;resource)&nbsp;{&nbsp;<br/>
			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>.initialize(resource);&nbsp;<br/>
			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;library&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createLibrary();&nbsp;<br/>
			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resource.getContents().add(library);&nbsp;<br/>
			  			&nbsp;&nbsp;&nbsp;}&nbsp;<br/>
			  			<br/>
			  			}
			  		</p>
			  	</div>
			  </div>
			  
			  		The method <em>initialize()</em> will be executed only when the Resource is empty
			  		(i.e., it has no contents).
			  </li>
			</ol>
			</p>
			<p>
			now get back to the <em>MANIFEST.MF</em> and run the example
			</p>
			<p>
			<div class="image" >
			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/first-example-launch.png">
				<img src="images/first-example-launch.png" 
					width="600px"
				/>
			</a>
			<div class="caption">
			</div>
			</div>
			</p>
			<p>
			As an Eclipse RCP developer you know, of course, that this will start another Eclipse instance (unless
			you add an Application plug-in to the launch or define an Application in the current plug-in). 
			</p>
			<p>
			In this second Eclipse instance you can show the View in this way:
			<ol>
			  <li><em>Window -&gt; Show View -&gt; Other...</em></li>
			  <li>from Category &quot;Other&quot;, select &quot;My Library Tree Form&quot;</li>
			  <li>press <em>OK</em></li>
			</ol>
			</p>
			<p>
			<div class="image" >
			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/first-example-run.png">
				<img src="images/first-example-run.png" 
					width="600px"
				/>
			</a>
			<div class="caption">
			</div>
			</div>
			</p>
			<p>
			With this simple view you can start editing the model instance. For example you can set the <em>&quot;name&quot;</em>
			field; as soon as you start typing characters into this field you will notice that:
			<ol>
			  <li>the View turns to a <em>&quot;dirty&quot;</em> state (an asterisk symbol appears on the view tab)</li>
			  <li>the <em>&quot;Save&quot;</em> toolbar button is enabled</li>
			  <li>the typed characters are reflected into the label correspondent to the Library icon</li>
			</ol>
			</p>
			<p>
			if you now perform a <em>&quot;Save&quot;</em> action the persistence mechanism will trigger and you will see that file 
			<span class="inlinecode">&lt;user.home&gt;/MyLibrary.library</span>
			is being created on the file system. From now on, this file will keep the state of the model object whenever
			you change and save it. 
			</p>
			<p>
			To create a Writer into the Library just right-click on the Library object and select <em>New Child -&gt; Writer</em>
			</p>
			<p>
			<div class="image" >
			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/createWriter.png">
				<img src="images/createWriter.png" 
					width="600px"
				/>
			</a>
			<div class="caption">
			</div>
			</div>
			</p>
			<p>
			Please note that you might see a slightly different content in the above context-menu in case you deleted
			the .edit plugin when creating the model (e.g. <em>&quot;Writers Writer&quot;</em> instead of <em>&quot;Writer&quot;</em>, <em>&quot;Stock Book&quot;</em> instead of <em>&quot;Book&quot;</em> and
			similar (this is because with EMF it is possible to customize labels also via .edit plugin).
			</p>
			<p>
			Now set for instance the writer <em>&quot;name&quot;</em> field and save.
			Now just play around creating Books, associating them to Writers and so on.
			As you can see you can entirely manage the EMF model instance: creating, modifying and deleting elements.
			</p>
			<p>
			Whenever the current selection on the upper side of the view changes, then the lower side shows the detail
			of this selection.
			</p>
			<p>
			However, up to this point, you have no control over the field to be shown and its order; for example
			you may want just the <em>&quot;name&quot;</em> attribute for the Library and <em>&quot;name&quot;, &quot;address&quot; and &quot;books&quot;</em> attributes
			for Writers and maybe <em>&quot;title&quot;, &quot;authors&quot; and &quot;category&quot;</em> for Books.
			</p>
			<p>
			Well, it's indeed very easy to obtain this: just edit the <em>module.parsley</em> file, 
			adding the following import (without ending line with &quot;;&quot;)
			</p>
			<p>
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.*
					</p>
				</div>
			</div>
			</p>
			<p>
			and then defining the features to show
			</p>
			<p>
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">module</span>&nbsp;...&nbsp;{<br/>
						<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">parts</span>&nbsp;{&nbsp;<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">featuresProvider</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">features</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;-&gt;&nbsp;name<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;-&gt;&nbsp;name,&nbsp;address,&nbsp;books<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;-&gt;&nbsp;author,&nbsp;title,&nbsp;category<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						}
					</p>
				</div>
			</div>
			</p>
			<p>
			Remeber that code completion is available, just exploit it since it helps a lot.
			</p>
			<p>
			If you restart now the application you will see that, when selecting an object, only the declared attributes
			will be shown. Furthermore, they are shown in the specified order.
			</p>
			<p>
			Did you run the application in Debug mode? Well, then you can change fields and order, save and see the
			changes without even restarting the application.
			</p>
			<p>
			Do you want to change text used for attribute labels in the detail? Just add the following:
			</p>
			<p>
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">propertyDescriptionProvider</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;:&nbsp;author&nbsp;-&gt;&nbsp;<span class="string">&apos;Wrote&nbsp;by:&apos;</span><br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;:&nbsp;name&nbsp;-&gt;&nbsp;<span class="string">&apos;Name:&apos;</span><br/>
						&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						}
					</p>
				</div>
			</div>
			
			 
			Or do you want to change the label shown on the tree nodes on the upper side and as detail title? 
			Maybe want to format the book label like this?
			 
			<div class="literallayout">
				<div class="incode">
					<p class="code">
						<span class="keyword">labelProvider</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text</span>&nbsp;{<br/>
						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;b&nbsp;-&gt;&nbsp;<span class="string">&apos;"&apos;</span>&nbsp;+&nbsp;b.title&nbsp;+&nbsp;<span class="string">&apos;"&apos;</span>&nbsp;+<span class="string">&apos;&nbsp;(by&nbsp;&apos;</span>+&nbsp;b.author.name&nbsp;+&nbsp;<span class="string">&apos;)&apos;</span><br/>
						&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
						}
					</p>
				</div>
			</div>
			
			 
			<div class="image" >
			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/labelCustomization.png">
				<img src="images/labelCustomization.png" 
					width="600px"
				/>
			</a>
			<div class="caption">
			</div>
			</div>
			
			 
			  
			 
			 
			</p>
		<a name="RCPMail" ></a>
		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
			padding: 5px 0;
			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
			<br style="clear:both"></br>
			<h1>RCP Mail Example</h1>
		<div id="disqus_thread"></div>
		<script type="text/javascript" src="documentationRoot.js"></script>
		<script type="text/javascript">
		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
		
		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
		    var disqus_identifier = 'GettingStarted';
		    var disqus_url = documentationRoot+'02-GettingStarted.php';
		
		    /* * * DON'T EDIT BELOW THIS LINE * * */
		    (function() {
		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
		    })();
		</script>
 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
	</div>
	<br style="clear:both;height:1em;">
