com.funambol.common.pim.vcard
Class ContactParserListener

java.lang.Object
  extended by AbstractVCardSyntaxParserListener
      extended by com.funambol.common.pim.vcard.ContactParserListener

public class ContactParserListener
extends AbstractVCardSyntaxParserListener

This class implements a VCard parser listener that generates a Contact (JSR75 definition). This class provides a basic implementation for this task, but it is designed to be extended so that client can customize several things. One major aspect that may require specialization is the mapping of the multiple fields. Today this mapping is hardcoded, but the client can derive the class e specialize few methods to change the behavior. In the future we may decide to have a table to force a particular mapping. The mapping is the following: Contact field | VCard field ------------------------------ first email | INTERNET EMAIL second email | HOME EMAIL third email | WORK EMAIL tel, fax | BUSINESS FAX tel, work | TEL VOICE WORK tel, home | TEL VOICE HOME tel, other | TEL VOICE Warning: the current implementation is not finished yet and not all fields are mapped. This implementation is used in the BlackBerry so it handles the BB fields only. It will be extended when needed.


Field Summary
protected  Contact contact
           
 
Constructor Summary
ContactParserListener(Contact contact, boolean addNewCategory)
           
 
Method Summary
 void addExtension(java.lang.String tagName, java.lang.String content, ParamList plist, Token group)
           
 void end()
           
protected  int[] getSupportedFields()
          This method can be redefined to change the default behavior and ignore unwanted fields.
protected  int getTitleMaxValues()
           
protected  int getUrlMaxValues()
           
protected  java.lang.String preprocessNote(java.lang.String text)
           
 void setAddress(java.lang.String content, ParamList plist, Token group)
           
 void setAnniversary(java.lang.String content, ParamList plist, Token group)
           
 void setBirthday(java.lang.String content, ParamList plist, Token group)
           
 void setCategories(java.lang.String content, ParamList plist, Token group)
           
 void setChildren(java.lang.String content, ParamList plist, Token group)
           
 void setCompanies(java.lang.String content, ParamList plist, Token group)
           
protected  void setFax(java.lang.String content, PIMList list, ParamList plist)
           
 void setFName(java.lang.String content, ParamList plist, Token group)
           
 void setFolder(java.lang.String content, ParamList plist, Token group)
           
 void setFreebusy(java.lang.String content, ParamList plist, Token group)
           
 void setLabel(java.lang.String content, ParamList plist, Token group)
           
 void setLanguages(java.lang.String content, ParamList plist, Token group)
           
 void setLogo(java.lang.String content, ParamList plist, Token group)
           
 void setMail(java.lang.String content, ParamList plist, Token group)
           
 void setManager(java.lang.String content, ParamList plist, Token group)
           
 void setMileage(java.lang.String content, ParamList plist, Token group)
           
 void setName(java.lang.String content, ParamList plist, Token group)
           
 void setNickname(java.lang.String content, ParamList plist, Token group)
           
 void setNote(java.lang.String content, ParamList plist, Token group)
           
 void setOrganization(java.lang.String content, ParamList plist, Token group)
           
 void setPhoto(java.lang.String content, ParamList plist, Token group)
           
 void setRevision(java.lang.String content, ParamList plist, Token group)
           
 void setRole(java.lang.String content, ParamList plist, Token group)
           
 void setSpouse(java.lang.String content, ParamList plist, Token group)
           
 void setSubject(java.lang.String content, ParamList plist, Token group)
           
 void setTelephone(java.lang.String content, ParamList plist, Token group)
           
 void setTimezone(java.lang.String content, ParamList plist, Token group)
           
 void setTitle(java.lang.String content, ParamList plist, Token group)
           
 void setUid(java.lang.String content, ParamList plist, Token group)
           
 void setUrl(java.lang.String content, ParamList plist, Token group)
           
 void setVersion(java.lang.String ver, ParamList plist, Token group)
           
 void start()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

contact

protected Contact contact
Constructor Detail

ContactParserListener

public ContactParserListener(Contact contact,
                             boolean addNewCategory)
Method Detail

getUrlMaxValues

protected int getUrlMaxValues()

getTitleMaxValues

protected int getTitleMaxValues()

start

public void start()

end

public void end()

setCategories

public void setCategories(java.lang.String content,
                          ParamList plist,
                          Token group)
                   throws ParseException
Throws:
ParseException

addExtension

public void addExtension(java.lang.String tagName,
                         java.lang.String content,
                         ParamList plist,
                         Token group)
                  throws ParseException
Throws:
ParseException

setVersion

public void setVersion(java.lang.String ver,
                       ParamList plist,
                       Token group)
                throws ParseException
Throws:
ParseException

setTitle

public void setTitle(java.lang.String content,
                     ParamList plist,
                     Token group)
              throws ParseException
Throws:
ParseException

setMail

public void setMail(java.lang.String content,
                    ParamList plist,
                    Token group)
             throws ParseException
Throws:
ParseException

setUrl

public void setUrl(java.lang.String content,
                   ParamList plist,
                   Token group)
            throws ParseException
Throws:
ParseException

setTelephone

public void setTelephone(java.lang.String content,
                         ParamList plist,
                         Token group)
                  throws ParseException
Throws:
ParseException

setFax

protected void setFax(java.lang.String content,
                      PIMList list,
                      ParamList plist)

setFName

public void setFName(java.lang.String content,
                     ParamList plist,
                     Token group)
              throws ParseException
Throws:
ParseException

setRole

public void setRole(java.lang.String content,
                    ParamList plist,
                    Token group)
             throws ParseException
Throws:
ParseException

setRevision

public void setRevision(java.lang.String content,
                        ParamList plist,
                        Token group)
                 throws ParseException
Throws:
ParseException

setNickname

public void setNickname(java.lang.String content,
                        ParamList plist,
                        Token group)
                 throws ParseException
Throws:
ParseException

setOrganization

public void setOrganization(java.lang.String content,
                            ParamList plist,
                            Token group)
                     throws ParseException
Throws:
ParseException

setAddress

public void setAddress(java.lang.String content,
                       ParamList plist,
                       Token group)
                throws ParseException
Throws:
ParseException

setBirthday

public void setBirthday(java.lang.String content,
                        ParamList plist,
                        Token group)
                 throws ParseException
Throws:
ParseException

setLabel

public void setLabel(java.lang.String content,
                     ParamList plist,
                     Token group)
              throws ParseException
Throws:
ParseException

setTimezone

public void setTimezone(java.lang.String content,
                        ParamList plist,
                        Token group)
                 throws ParseException
Throws:
ParseException

setLogo

public void setLogo(java.lang.String content,
                    ParamList plist,
                    Token group)
             throws ParseException
Throws:
ParseException

setNote

public void setNote(java.lang.String content,
                    ParamList plist,
                    Token group)
             throws ParseException
Throws:
ParseException

setUid

public void setUid(java.lang.String content,
                   ParamList plist,
                   Token group)
            throws ParseException
Throws:
ParseException

setPhoto

public void setPhoto(java.lang.String content,
                     ParamList plist,
                     Token group)
              throws ParseException
Throws:
ParseException

setName

public void setName(java.lang.String content,
                    ParamList plist,
                    Token group)
             throws ParseException
Throws:
ParseException

setFolder

public void setFolder(java.lang.String content,
                      ParamList plist,
                      Token group)
               throws ParseException
Throws:
ParseException

setFreebusy

public void setFreebusy(java.lang.String content,
                        ParamList plist,
                        Token group)
                 throws ParseException
Throws:
ParseException

setAnniversary

public void setAnniversary(java.lang.String content,
                           ParamList plist,
                           Token group)
                    throws ParseException
Throws:
ParseException

setChildren

public void setChildren(java.lang.String content,
                        ParamList plist,
                        Token group)
                 throws ParseException
Throws:
ParseException

setCompanies

public void setCompanies(java.lang.String content,
                         ParamList plist,
                         Token group)
                  throws ParseException
Throws:
ParseException

setLanguages

public void setLanguages(java.lang.String content,
                         ParamList plist,
                         Token group)
                  throws ParseException
Throws:
ParseException

setManager

public void setManager(java.lang.String content,
                       ParamList plist,
                       Token group)
                throws ParseException
Throws:
ParseException

setMileage

public void setMileage(java.lang.String content,
                       ParamList plist,
                       Token group)
                throws ParseException
Throws:
ParseException

setSpouse

public void setSpouse(java.lang.String content,
                      ParamList plist,
                      Token group)
               throws ParseException
Throws:
ParseException

setSubject

public void setSubject(java.lang.String content,
                       ParamList plist,
                       Token group)
                throws ParseException
Throws:
ParseException

getSupportedFields

protected int[] getSupportedFields()
This method can be redefined to change the default behavior and ignore unwanted fields.

Returns:
a list of fields that are going to be supported or null if all fields shall be supported.

preprocessNote

protected java.lang.String preprocessNote(java.lang.String text)


Copyright © 2001-2009 Funambol.