<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4196212283266301328</id><updated>2012-01-31T15:09:34.700-08:00</updated><category term='auto complete'/><category term='GWT'/><category term='JAVA'/><category term='autocomplete'/><category term='auto suggest'/><category term='custom component'/><category term='RIA'/><category term='Vaadin'/><category term='autosuggest'/><title type='text'>JAVA/J2EE Projects</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jtechnoprojects.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jtechnoprojects.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rohit Prajapati</name><uri>http://www.blogger.com/profile/12140324876822389190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4196212283266301328.post-476878962663512610</id><published>2011-08-09T10:56:00.000-07:00</published><updated>2011-09-10T09:25:39.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='auto suggest'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='custom component'/><category scheme='http://www.blogger.com/atom/ns#' term='autosuggest'/><category scheme='http://www.blogger.com/atom/ns#' term='autocomplete'/><category scheme='http://www.blogger.com/atom/ns#' term='auto complete'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='Vaadin'/><title type='text'>Facebook style auto suggest/complete component in Vaadin/GWT</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="spelle"&gt;&lt;b&gt;Facebook&lt;/b&gt;&lt;/span&gt;&lt;b&gt; style auto suggest/complete component in &lt;a href="http://vaadin.com/"&gt;Vaadin&lt;/a&gt; - &lt;span class="spelle"&gt;VaadinAutoComplete&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Most of the developers are looking for the &lt;span class="spelle"&gt;facebook&lt;/span&gt; style &lt;span class="grame"&gt;auto&lt;/span&gt; suggest/complete textbox. Here is the solution for them.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Actually in &lt;span class="spelle"&gt;facebook&lt;/span&gt; it is not an html textbox but it’s a combination of html components that look like a textbox.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="spelle"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;VaadinAutoComplete&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt; is a vaadin add-on that provides &lt;span class="spelle"&gt;facebook&lt;/span&gt; style auto complete features that you can easily integrate to your existing applications.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;It is designed and implemented by considering use in existing applications so that you can use it as you are using any other &lt;a href="http://vaadin.com/"&gt;Vaadin&lt;/a&gt; component like textbox.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;How to use &lt;span class="spelle"&gt;VaadinAutoComplete&lt;/span&gt; in your application&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;To use &lt;span class="spelle"&gt;VaadinAutoComplete&lt;/span&gt; into your application, first you have to write a bean (POJO) to encapsulate the information of the entity on which you are going to provide auto complete feature.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;For example, consider you are going to provide auto complete feature for employee selection in which employee name and email address will be displayed in the textbox like “&lt;span class="spelle"&gt;emp_first_name&lt;/span&gt;, &lt;span class="spelle"&gt;emp_last_name&lt;/span&gt; &amp;lt;&lt;span class="spelle"&gt;emp_email_address&lt;/span&gt;&amp;gt;” as displayed in following image.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-mB89N_y8IZ8/TkFystCJItI/AAAAAAAAAGg/Z2678MtNtiE/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Vaadin/GWT auto suggest/complete component" border="0" height="259" src="http://2.bp.blogspot.com/-mB89N_y8IZ8/TkFystCJItI/AAAAAAAAAGg/Z2678MtNtiE/s320/1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Then in this you have to define one &lt;span class="spelle"&gt;EmployeeBean&lt;/span&gt; class that will encapsulate the information of the employee.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Consider your &lt;span class="spelle"&gt;EmployeeBean&lt;/span&gt; as below&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;package&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; com;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;EmployeeBean&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;empNo&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;firstName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;lastName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;emailId&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;span class="spelle"&gt;getEmpNo&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;empNo&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;setEmpNo&lt;/span&gt;(String &lt;span class="spelle"&gt;empNo&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;empNo&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;span class="spelle"&gt;empNo&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;span class="spelle"&gt;getFirstName&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;firstName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;setFirstName&lt;/span&gt;(String &lt;span class="spelle"&gt;firstName&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;firstName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;span class="spelle"&gt;firstName&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;span class="spelle"&gt;getLastName&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;lastName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;setLastName&lt;/span&gt;(String &lt;span class="spelle"&gt;lastName&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;lastName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;span class="spelle"&gt;lastName&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;span class="spelle"&gt;getEmailId&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;emailId&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;setEmailId&lt;/span&gt;(String &lt;span class="spelle"&gt;emailId&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;emailId&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;span class="spelle"&gt;emailId&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Now your &lt;span class="spelle"&gt;EmployeeBean&lt;/span&gt; must implement &lt;span class="spelle"&gt;com.jtechnosoft.autosuggest.client.model.ValueObject&lt;/span&gt; as below so that it can be used in &lt;span class="spelle"&gt;VaadinAutoSuggest&lt;/span&gt; add-on.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;For this you have to implement 2 methods of &lt;span class="spelle"&gt;ValueObject&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Now your &lt;span class="spelle"&gt;EmployeeBean&lt;/span&gt; will look like this.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;package&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; com;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;import&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;com.jtechnosoft.autosuggest.client.model.ValueObject&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;&lt;u&gt;EmployeeBean&lt;/u&gt;&lt;/span&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;implements&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;empNo&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;firstName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;lastName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;emailAddress&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;/***&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* All the getter/setter methods will go here as above&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;/**&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;span class="grame"&gt;this&lt;/span&gt; method must return an unique identifier for this bean..&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;span class="grame"&gt;we&lt;/span&gt; are just returning employee number&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;span class="spelle"&gt;getId&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;empNo&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;/**&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;span class="grame"&gt;the&lt;/span&gt; return value of this method will be displayed in auto suggest &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span class="grame"&gt;&lt;u&gt;textbox&lt;/u&gt;&lt;/span&gt; searched value..&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;span class="grame"&gt;we&lt;/span&gt; are returning the string like "&lt;span class="spelle"&gt;employee_first_name&lt;/span&gt;, &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span class="spelle"&gt;employee_last_name&lt;/span&gt; &lt;u&gt;&amp;lt;&lt;span class="spelle"&gt;employee_email_address&lt;/span&gt;&amp;gt;&lt;/u&gt;"&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; String &lt;span class="spelle"&gt;getValue&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;firstName&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;+&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;","&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;+&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;lastName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;+&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;" &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;lt;"&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;+&lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;emailAddress&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;+&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;"&amp;gt;"&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;There are 2 ways in which you can use &lt;span class="spelle"&gt;VaadinAutoSuggest&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;1)&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;You will provide a list (&lt;span class="spelle"&gt;java.util.ArrayList&lt;/span&gt;) of &lt;span class="spelle"&gt;ValueObject&lt;/span&gt; (in above example, &lt;span class="spelle"&gt;EmployeeBean&lt;/span&gt;) to the &lt;span class="spelle"&gt;VaadinAutoSuggest&lt;/span&gt;. This list will be sent to the client (browser) only once. Every time when user types into the auto complete textbox, component will get the values to be suggested from the list resides at client side. It will not make a server hit to get the values. So this is called a lazy loading.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;2)&lt;/span&gt;&lt;span style="font-size: 7pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;You will provide an instance of &lt;span class="spelle"&gt;com.jtechnosoft.autosuggest.server.util.AutoSuggestDataProvider&lt;/span&gt; to the &lt;span class="spelle"&gt;VaadinAutoSuggest&lt;/span&gt; that will implement &lt;span class="spelle"&gt;getData&lt;/span&gt; method of it. In this component will make a server hit every time user types in the auto suggest text box. So it serves live suggestions to the user. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;These 2 ways are described with examples as below.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;1) Providing &lt;span class="spelle"&gt;java.util.List&lt;/span&gt;&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; to the component and not making server hit every time user types in the auto suggest textbox.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Consider you are going to add the component into a &lt;a href="http://vaadin.com/"&gt;vaadin&lt;/a&gt; window.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;&lt;u&gt;AutoSuggestTestWindow&lt;/u&gt;&lt;/span&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;extends&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; Window&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="spelle"&gt;VerticalLayout&lt;/span&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;verticalLayout&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;AutoSuggestTestWindow&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.setWidth(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;"500px"&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.setHeight(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;"400px"&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;verticalLayout&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = (&lt;span class="spelle"&gt;VerticalLayout&lt;/span&gt;) &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.getContent&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;verticalLayout&lt;/span&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.setSizeFull(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;/***&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* get data here… from &lt;u&gt;database&lt;/u&gt;, &lt;span class="spelle"&gt;file&lt;/span&gt;&lt;span class="grame"&gt;..etc&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* List&lt;/span&gt;&lt;span style="color: #7f7f9f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; data = &lt;span class="grame"&gt;getData(&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;//creating auto suggest component here… and passing data&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="spelle"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;AutoSuggest&lt;/b&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt; &lt;span class="spelle"&gt;autoSuggest&lt;/span&gt; = &lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="grame"&gt;AutoSuggest(&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;i&gt;&lt;span style="background: silver; color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;data&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.addComponent(&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;autoSuggest&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;); &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;2) &lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;Providing an instance of &lt;span class="spelle"&gt;com.jtechnosoft.autosuggest.server.util.AutoSuggestDataProvider&lt;/span&gt; to the &lt;span class="spelle"&gt;VaadinAutoSuggest&lt;/span&gt; and allowing a component to make a server hit every time user types into auto complete textbox to get the live values.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;For this, you have to implement interface &lt;span class="spelle"&gt;com.jtechnosoft.autosuggest.server.util.AutoSuggestDataProvider&lt;/span&gt; as below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;&lt;span style="background: silver;"&gt;MyDataProvider&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;implements&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;AutoSuggestDataProvider&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;static&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; List&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; &lt;/span&gt;&lt;i&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;data&lt;/span&gt;&lt;/i&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;ArrayList&lt;/span&gt;&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt;();&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;static&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in -5.35pt 0in 1in; mso-layout-grid-align: none;"&gt;&lt;span style="color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;//here we are reading the data to be displayed in auto complete from file&lt;span class="grame"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;//you can modify the method to read data from &lt;u&gt;database&lt;/u&gt;&lt;span class="grame"&gt;..&lt;/span&gt; &lt;span class="grame"&gt;or&lt;/span&gt; from any other source&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;i&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;data&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;span class="spelle"&gt;CommonUtil.&lt;i&gt;getDataFromFile&lt;/i&gt;&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;/**&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;span class="grame"&gt;this&lt;/span&gt; method will be called by &lt;span class="spelle"&gt;VaadinAutoComplete&lt;/span&gt; component to get live data..&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* &lt;span class="grame"&gt;it&lt;/span&gt; will pass user entered search text to this method as a parameter&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; List&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; &lt;span class="spelle"&gt;getData&lt;/span&gt;(String &lt;span class="spelle"&gt;searchText&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; list = &lt;span class="grame"&gt;filterData(&lt;/span&gt;&lt;span class="spelle"&gt;searchText&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; list;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055;"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; List&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; &lt;span class="spelle"&gt;filterData&lt;/span&gt;(String &lt;span class="spelle"&gt;searchText&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; &lt;span class="spelle"&gt;filterList&lt;/span&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;data&lt;/span&gt;&lt;/i&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;!=&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &amp;amp;&amp;amp; &lt;span class="spelle"&gt;searchText&lt;/span&gt;!=&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &amp;amp;&amp;amp; !&lt;span class="spelle"&gt;searchText.trim&lt;/span&gt;().&lt;span class="spelle"&gt;isEmpty&lt;/span&gt;())&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="grame"&gt;searchText&lt;/span&gt; = &lt;span class="spelle"&gt;searchText.trim&lt;/span&gt;();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="grame"&gt;filterList&lt;/span&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;ArrayList&lt;/span&gt;&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;for&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; (&lt;span class="spelle"&gt;ValueObject&lt;/span&gt; &lt;span class="spelle"&gt;valueObject&lt;/span&gt; : &lt;/span&gt;&lt;i&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;data&lt;/span&gt;&lt;/i&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 2in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;valueObject.getValue&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;()!=&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 2in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;valueObject.getValue(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;).&lt;span class="spelle"&gt;toLowerCase&lt;/span&gt;().contains(&lt;span class="spelle"&gt;searchText.toLowerCase&lt;/span&gt;()))&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="grame"&gt;filterList.add(&lt;/span&gt;&lt;span class="spelle"&gt;valueObject&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;filterList&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;You have to provide &lt;span class="spelle"&gt;AutoSuggestDataProvider&lt;/span&gt; to &lt;span class="spelle"&gt;VaadinAutoComplete&lt;/span&gt; component as below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;You can get selected values from component using &lt;/span&gt;&lt;span class="grame"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;autoSuggest&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.getSelectedData(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;) &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;method as shown in following example.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;&lt;u&gt;AutoSuggestTestWindow&lt;/u&gt;&lt;/span&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;extends&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; Window &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;implements&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;ClickListener&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="spelle"&gt;VerticalLayout&lt;/span&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;verticalLayout&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="spelle"&gt;AutoSuggest&lt;/span&gt; &lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;autoSuggest&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;AutoSuggestTestWindow&lt;/span&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.setWidth(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;"500px"&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.setHeight(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;"400px"&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;verticalLayout&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; = (&lt;span class="spelle"&gt;VerticalLayout&lt;/span&gt;) &lt;/span&gt;&lt;span class="spelle"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.getContent&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;verticalLayout&lt;/span&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.setSizeFull(&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;//creating auto suggest component here… &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="grame"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;autoSuggest&lt;/b&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt; = &lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;AutoSuggest&lt;/span&gt;();&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span class="grame"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;autoSuggest.setAutoSuggestDataProvider(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;MyDataProvider&lt;/span&gt;()); &lt;/span&gt;&lt;/b&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;//passing data provider &lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.addComponent(&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;autoSuggest&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;); &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;Button &lt;span class="spelle"&gt;btnGetSelectedData&lt;/span&gt; = &lt;b&gt;new&lt;/b&gt; &lt;span class="grame"&gt;Button(&lt;/span&gt;"Get Selected Data");&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="grame"&gt;btnGetSelectedData.addListener(&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.addComponent(&lt;/span&gt;&lt;/span&gt;&lt;span class="spelle"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;btnGetSelectedData&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span class="grame"&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt; &lt;span class="spelle"&gt;buttonClick&lt;/span&gt;(&lt;span class="spelle"&gt;ClickEvent&lt;/span&gt; event)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 1in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;//getting selected values from component &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b style="mso-bidi-font-weight: normal;"&gt;List&amp;lt;&lt;span class="spelle"&gt;ValueObject&lt;/span&gt;&amp;gt; &lt;span class="spelle"&gt;&lt;u&gt;&lt;span style="background: yellow;"&gt;selectedDataList&lt;/span&gt;&lt;/u&gt;&lt;/span&gt; = &lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;autoSuggest&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="grame"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;.getSelectedData(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 0.5in;"&gt;&lt;span class="grame"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;System.&lt;i&gt;out&lt;/i&gt;.println(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;"&lt;span class="spelle"&gt;selectedDataList&lt;/span&gt; = "+&lt;span class="spelle"&gt;selectedDataList&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana; font-size: 11pt;"&gt;Other features&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;&lt;b&gt;Adding custom values : &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;You can add custom value not in the suggestion list into the textbox as below.&lt;br /&gt;&amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fCAnS7gLB24/TkFzc1saxeI/AAAAAAAAAGs/1OQRQhWLFkA/s1600/22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Vaadin/GWT auto suggest/complete component" border="0" height="257" src="http://3.bp.blogspot.com/-fCAnS7gLB24/TkFzc1saxeI/AAAAAAAAAGs/1OQRQhWLFkA/s320/22.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;&lt;b&gt;Lazy Loading Status : &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;You can turn on the feature to display the status of fetching values from server as below.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-TUCI12tWFHg/TkFzRxUPK0I/AAAAAAAAAGo/zanZ1sUrdcs/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Vaadin/GWT auto suggest/complete component" border="0" height="256" src="http://4.bp.blogspot.com/-TUCI12tWFHg/TkFzRxUPK0I/AAAAAAAAAGo/zanZ1sUrdcs/s320/3.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;This component is also available in GWT. As Vaadin is using GWT for rendering.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;span style="font-family: Verdana; font-size: 10pt;"&gt;For more information about &lt;span class="spelle"&gt;VaadinAutoComplete&lt;/span&gt; component/GWT component or to have a live demo contact me at: &lt;a href="mailto:rohitprajapati54@gmail.com"&gt;rohitprajapati54@gmail.com&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4196212283266301328-476878962663512610?l=jtechnoprojects.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtechnoprojects.blogspot.com/feeds/476878962663512610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/08/style-definitions-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/476878962663512610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/476878962663512610'/><link rel='alternate' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/08/style-definitions-table.html' title='Facebook style auto suggest/complete component in Vaadin/GWT'/><author><name>Rohit Prajapati</name><uri>http://www.blogger.com/profile/12140324876822389190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-mB89N_y8IZ8/TkFystCJItI/AAAAAAAAAGg/Z2678MtNtiE/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4196212283266301328.post-1082110309500848127</id><published>2011-05-23T09:14:00.000-07:00</published><updated>2011-06-20T21:09:23.904-07:00</updated><title type='text'>ZK vs Vaadin</title><content type='html'>&lt;p&gt;I have developed a webmail system &lt;a href="http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html"&gt;ZkMail&lt;/a&gt; and &lt;a href="http://jtechnoprojects.blogspot.com/p/vaadinmail-webmail-system.html"&gt;VaadinMail&lt;/a&gt; by using ZK and Vaadin frameworks. I have found some points while development regarding ZK and Vaadin that I want to share. &lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ZK supports XML (zul, zhtml) to create user interface, while Vaadin is based on pure java. JAVA code must be written in Vaadin to create UI.&lt;br /&gt;So development in ZK is faster than Vaadin as developer can use xml tag, attributes to create user interface.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ZK users its own proprietary engine to render user interface. Vaadin uses GWT. So in Vaadin, there are lots of GWT widgets available that can be reused. &lt;/li&gt;&lt;li&gt;Vaadin is released under Apache 2.0 license. ZK comes under community edition (limited edition) under LGPL and commercial license for full version. Although, ZK limited edition provides so many features/functionalities that is enough to develop any application. &lt;/li&gt;&lt;li&gt;I found Vaadin more reliable than ZK. In ZK some components like FCK editor behavior is random and creates problems which is not possible to debug. &lt;/li&gt;&lt;li&gt;Both ZK and Vaadin support custom components. ZK support macro components for that and Vaadin provides com.vaadin.ui.CustomComponent. &lt;/li&gt;&lt;li&gt;Both Vaadin and ZK support Drag &amp;amp; Drop support. &lt;/li&gt;&lt;li&gt;ZK supports integration with other technologies like spring and others which Vaadin does not provide.&lt;/li&gt;&lt;li&gt;Vaadin is integrated into Liferay portal. So Vaadin applications can be easily used in liferay. Whereas there is no official integration of ZK provided with such kind of portal. Although ZK can be integrated with Liferay to be use as portlet with some effort as i have already done.&lt;/li&gt;&lt;li&gt;ZK can be integrated in legacy applications (html/jsp based) easily. Whereas Vaadin can not be used with such kind of legacy applications. Such applications should be rewritten entirely in Vaadin. In ZK, html files can be renamed to zhtml to leverage the power of zk in html. We can also include html code into ZK (zul) page easily by using html tag of zul.&lt;/li&gt;&lt;li&gt;ZK CE provides robust server push facility based on client polling and commercial edition provides comet based server push. Whereas in Vaadin there is an experimental plugin ICEPush that provides server push. Also ICEPush add-on requires that vaadin application’s url-pattern must be ‘/*’ in web.xml. In other cases it is not working. So we can not use other resources like jsp, html when using the ICEPush add-on. &lt;/li&gt;&lt;li&gt;ZK and Vaadin both provide rich theme support. ZK provides ZKThemer by which we can generate different theme. ZKThemer automatically creates/updates CSS and images to generate new theme. In Vaadin no such tool is available. Although there are different themes jar files available in vaadin directory, but those themes are not consistent with the vaadin default theme as applying them modifies layouts/components and do not render the same output as default theme. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;So from a user interface perspective, ZK has a rich set of user interface components than Vaadin and it is easy for developers to use. And also from a productivity point of view ZK is best.&lt;br /&gt;Everything in Vaadin is also provided by ZK. But reverse is not true.&lt;br /&gt;The only thing in using Vaadin is that it is based on GWT. There are lots of live applications that are using GWT. So it is proven.&lt;br /&gt;Whereas ZK uses it own proprietary client side for rendering.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Reference:&lt;br /&gt;&lt;/strong&gt;&lt;a href="http://books.zkoss.org/wiki/Small_Talks/2006/July/Work_with_Legacy_Web_Applications,_Part_I_-_Servlets_and_Forms"&gt;http://books.zkoss.org/wiki/Small_Talks/2006/July/Work_with_Legacy_Web_Applications,_Part_I_-_Servlets_and_Forms&lt;/a&gt;&lt;br /&gt;&lt;a href="http://books.zkoss.org/wiki/Small_Talks/2006/July/Work_with_Legacy_Web_Applications,_Part_II_-_JSP"&gt;http://books.zkoss.org/wiki/Small_Talks/2006/July/Work_with_Legacy_Web_Applications,_Part_II_-_JSP&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vaadin.com/directory#addon/icepush"&gt;http://vaadin.com/directory#addon/icepush&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zkoss.org/product/edition.dsp"&gt;http://www.zkoss.org/product/edition.dsp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html"&gt;http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jtechnoprojects.blogspot.com/p/vaadinmail-webmail-system.html"&gt;http://jtechnoprojects.blogspot.com/p/vaadinmail-webmail-system.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4196212283266301328-1082110309500848127?l=jtechnoprojects.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtechnoprojects.blogspot.com/feeds/1082110309500848127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/05/zk-vs-vaadin.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/1082110309500848127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/1082110309500848127'/><link rel='alternate' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/05/zk-vs-vaadin.html' title='ZK vs Vaadin'/><author><name>Rohit Prajapati</name><uri>http://www.blogger.com/profile/12140324876822389190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4196212283266301328.post-8514042530864207830</id><published>2011-05-02T09:10:00.001-07:00</published><updated>2011-05-02T09:16:59.635-07:00</updated><title type='text'>VaadinMail Webmail System with chat module</title><content type='html'>A new webmail system &lt;a href="http://jtechnoprojects.blogspot.com/p/vaadinmail-webmail-system.html"&gt;VaadinMail&lt;/a&gt; in JAVA has been developed like &lt;a href="http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html"&gt;ZKMail&lt;/a&gt; webmail system. It includes all the features of a complete webmail system including multi-tabbed chat module like in yahoo. It has been developed using &lt;a href="http://vaadin.com/home"&gt;Vaadin 6.5.7 RIA framework&lt;/a&gt;. For complete details about VaadinMail &lt;a href="http://jtechnoprojects.blogspot.com/p/vaadinmail-webmail-system.html"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4196212283266301328-8514042530864207830?l=jtechnoprojects.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtechnoprojects.blogspot.com/feeds/8514042530864207830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/05/vaadinmail-webmail-system-with-chat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/8514042530864207830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/8514042530864207830'/><link rel='alternate' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/05/vaadinmail-webmail-system-with-chat.html' title='VaadinMail Webmail System with chat module'/><author><name>Rohit Prajapati</name><uri>http://www.blogger.com/profile/12140324876822389190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4196212283266301328.post-2677240852904905416</id><published>2011-05-02T09:03:00.000-07:00</published><updated>2011-05-02T09:09:44.975-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html"&gt;ZKMail&lt;/a&gt; has been upgraded to &lt;a href="http://www.zkoss.org/"&gt;ZK 5.0.6&lt;/a&gt;. It includes new breeze theme. For complete details about ZkMail webmail system &lt;a href="http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4196212283266301328-2677240852904905416?l=jtechnoprojects.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jtechnoprojects.blogspot.com/feeds/2677240852904905416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/05/zkmail-has-been-upgraded-to-zk-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/2677240852904905416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4196212283266301328/posts/default/2677240852904905416'/><link rel='alternate' type='text/html' href='http://jtechnoprojects.blogspot.com/2011/05/zkmail-has-been-upgraded-to-zk-5.html' title=''/><author><name>Rohit Prajapati</name><uri>http://www.blogger.com/profile/12140324876822389190</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
