public class VCard
extends org.jivesoftware.smack.packet.IQ
You should refer to the XEP-54 documentation.
Please note that this class is incomplete but it does provide the most commonly found information in vCards. Also remember that VCard transfer is not a standard, and the protocol may change or be replaced.
Usage:
// To save VCard: VCard vCard = new VCard(); vCard.setFirstName("kir"); vCard.setLastName("max"); vCard.setEmailHome("foo@fee.bar"); vCard.setJabberId("jabber@id.org"); vCard.setOrganization("Jetbrains, s.r.o"); vCard.setNickName("KIR"); vCard.setField("TITLE", "Mr"); vCard.setAddressFieldHome("STREET", "Some street"); vCard.setAddressFieldWork("CTRY", "US"); vCard.setPhoneWork("FAX", "3443233"); vCard.save(connection); // To load VCard: VCard vCard = new VCard(); vCard.load(conn); // load own VCard vCard.load(conn, "joe@foo.bar"); // load someone's VCard
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ELEMENT |
static java.lang.String |
NAMESPACE |
Constructor and Description |
---|
VCard() |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
java.lang.String |
getAddressFieldHome(java.lang.String addrField)
Get home address field.
|
java.lang.String |
getAddressFieldWork(java.lang.String addrField)
Get work address field.
|
byte[] |
getAvatar()
Return the byte representation of the avatar(if one exists), otherwise returns null if
no avatar could be found.
|
java.lang.String |
getAvatarHash()
Returns the SHA-1 Hash of the Avatar image.
|
java.lang.String |
getAvatarMimeType()
Returns the MIME Type of the avatar or null if none is set.
|
static byte[] |
getBytes(java.net.URL url)
Common code for getting the bytes of a url.
|
java.lang.String |
getEmailHome() |
java.lang.String |
getEmailWork() |
java.lang.String |
getField(java.lang.String field)
Set generic VCard field.
|
java.lang.String |
getFirstName() |
protected org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder |
getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder xml) |
java.lang.String |
getJabberId() |
java.lang.String |
getLastName() |
java.lang.String |
getMiddleName() |
java.lang.String |
getNickName() |
java.lang.String |
getOrganization() |
java.lang.String |
getOrganizationUnit() |
java.lang.String |
getPhoneHome(java.lang.String phoneType)
Get home phone number.
|
java.lang.String |
getPhoneWork(java.lang.String phoneType)
Get work phone number.
|
java.lang.String |
getPrefix() |
java.lang.String |
getSuffix() |
int |
hashCode() |
void |
load(org.jivesoftware.smack.XMPPConnection connection)
Deprecated.
use
VCardManager.loadVCard() instead. |
void |
load(org.jivesoftware.smack.XMPPConnection connection,
org.jxmpp.jid.EntityBareJid user)
Deprecated.
use
VCardManager.loadVCard(EntityBareJid) instead. |
void |
removeAvatar()
Removes the avatar from the vCard.
|
void |
save(org.jivesoftware.smack.XMPPConnection connection)
Deprecated.
use
VCardManager.saveVCard(VCard) instead. |
void |
setAddressFieldHome(java.lang.String addrField,
java.lang.String value)
Set home address field.
|
void |
setAddressFieldWork(java.lang.String addrField,
java.lang.String value)
Set work address field.
|
void |
setAvatar(byte[] bytes)
Specify the bytes of the JPEG for the avatar to use.
|
void |
setAvatar(byte[] bytes,
java.lang.String mimeType)
Specify the bytes for the avatar to use as well as the mime type.
|
void |
setAvatar(java.lang.String encodedImage,
java.lang.String mimeType)
Specify the Avatar used for this vCard.
|
void |
setAvatar(java.net.URL avatarURL)
Set the avatar for the VCard by specifying the url to the image.
|
void |
setEmailHome(java.lang.String email) |
void |
setEmailWork(java.lang.String emailWork) |
void |
setEncodedImage(java.lang.String encodedAvatar)
Deprecated.
Use
setAvatar(String, String) instead. |
void |
setField(java.lang.String field,
java.lang.String value)
Set generic VCard field.
|
void |
setField(java.lang.String field,
java.lang.String value,
boolean isUnescapable)
Set generic, unescapable VCard field.
|
void |
setFirstName(java.lang.String firstName) |
void |
setJabberId(java.lang.String jabberId) |
void |
setLastName(java.lang.String lastName) |
void |
setMiddleName(java.lang.String middleName) |
void |
setNickName(java.lang.String nickName) |
void |
setOrganization(java.lang.String organization) |
void |
setOrganizationUnit(java.lang.String organizationUnit) |
void |
setPhoneHome(java.lang.String phoneType,
java.lang.String phoneNum)
Set home phone number.
|
void |
setPhoneWork(java.lang.String phoneType,
java.lang.String phoneNum)
Set work phone number.
|
void |
setPrefix(java.lang.String prefix) |
void |
setSuffix(java.lang.String suffix) |
createErrorResponse, createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementXML, getType, initialzeAsResultFor, isRequestIQ, setType, toString, toXML
addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensions, getExtensions, getExtensionsXML, getFrom, getLanguage, getPacketID, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, removeExtension, setError, setError, setFrom, setFrom, setLanguage, setPacketID, setStanzaId, setStanzaId, setTo, setTo
public static final java.lang.String ELEMENT
public static final java.lang.String NAMESPACE
public java.lang.String getField(java.lang.String field)
field
- value of field. Possible values: NICKNAME, PHOTO, BDAY, JABBERID, MAILER, TZ,
GEO, TITLE, ROLE, LOGO, NOTE, PRODID, REV, SORT-STRING, SOUND, UID, URL, DESC.public void setField(java.lang.String field, java.lang.String value)
value
- value of fieldfield
- field to set. See getField(String)
getField(String)
public void setField(java.lang.String field, java.lang.String value, boolean isUnescapable)
value
- value of fieldfield
- field to set. See getField(String)
isUnescapable
- True if the value should not be escaped, and false if it should.public java.lang.String getFirstName()
public void setFirstName(java.lang.String firstName)
public java.lang.String getLastName()
public void setLastName(java.lang.String lastName)
public java.lang.String getMiddleName()
public void setMiddleName(java.lang.String middleName)
public java.lang.String getPrefix()
public void setPrefix(java.lang.String prefix)
public java.lang.String getSuffix()
public void setSuffix(java.lang.String suffix)
public java.lang.String getNickName()
public void setNickName(java.lang.String nickName)
public java.lang.String getEmailHome()
public void setEmailHome(java.lang.String email)
public java.lang.String getEmailWork()
public void setEmailWork(java.lang.String emailWork)
public java.lang.String getJabberId()
public void setJabberId(java.lang.String jabberId)
public java.lang.String getOrganization()
public void setOrganization(java.lang.String organization)
public java.lang.String getOrganizationUnit()
public void setOrganizationUnit(java.lang.String organizationUnit)
public java.lang.String getAddressFieldHome(java.lang.String addrField)
addrField
- one of POSTAL, PARCEL, (DOM | INTL), PREF, POBOX, EXTADR, STREET,
LOCALITY, REGION, PCODE, CTRYpublic void setAddressFieldHome(java.lang.String addrField, java.lang.String value)
addrField
- one of POSTAL, PARCEL, (DOM | INTL), PREF, POBOX, EXTADR, STREET,
LOCALITY, REGION, PCODE, CTRYpublic java.lang.String getAddressFieldWork(java.lang.String addrField)
addrField
- one of POSTAL, PARCEL, (DOM | INTL), PREF, POBOX, EXTADR, STREET,
LOCALITY, REGION, PCODE, CTRYpublic void setAddressFieldWork(java.lang.String addrField, java.lang.String value)
addrField
- one of POSTAL, PARCEL, (DOM | INTL), PREF, POBOX, EXTADR, STREET,
LOCALITY, REGION, PCODE, CTRYpublic void setPhoneHome(java.lang.String phoneType, java.lang.String phoneNum)
phoneType
- one of VOICE, FAX, PAGER, MSG, CELL, VIDEO, BBS, MODEM, ISDN, PCS, PREFphoneNum
- phone numberpublic java.lang.String getPhoneHome(java.lang.String phoneType)
phoneType
- one of VOICE, FAX, PAGER, MSG, CELL, VIDEO, BBS, MODEM, ISDN, PCS, PREFpublic void setPhoneWork(java.lang.String phoneType, java.lang.String phoneNum)
phoneType
- one of VOICE, FAX, PAGER, MSG, CELL, VIDEO, BBS, MODEM, ISDN, PCS, PREFphoneNum
- phone numberpublic java.lang.String getPhoneWork(java.lang.String phoneType)
phoneType
- one of VOICE, FAX, PAGER, MSG, CELL, VIDEO, BBS, MODEM, ISDN, PCS, PREFpublic void setAvatar(java.net.URL avatarURL)
avatarURL
- the url to the image(png,jpeg,gif,bmp)public void removeAvatar()
public void setAvatar(byte[] bytes)
bytes
- the bytes of the avatar, or null to remove the avatar datapublic void setAvatar(byte[] bytes, java.lang.String mimeType)
bytes
- the bytes of the avatar.mimeType
- the mime type of the avatar.public void setAvatar(java.lang.String encodedImage, java.lang.String mimeType)
encodedImage
- the Base64 encoded image as StringmimeType
- the MIME type of the image@Deprecated public void setEncodedImage(java.lang.String encodedAvatar)
setAvatar(String, String)
instead.encodedAvatar
- the encoded avatar string.public byte[] getAvatar()
// Load Avatar from VCard byte[] avatarBytes = vCard.getAvatar(); // To create an ImageIcon for Swing applications ImageIcon icon = new ImageIcon(avatar); // To create just an image object from the bytes ByteArrayInputStream bais = new ByteArrayInputStream(avatar); try { Image image = ImageIO.read(bais); } catch (IOException e) { e.printStackTrace(); }
public java.lang.String getAvatarMimeType()
public static byte[] getBytes(java.net.URL url) throws java.io.IOException
url
- the url to read.java.io.IOException
public java.lang.String getAvatarHash()
@Deprecated public void save(org.jivesoftware.smack.XMPPConnection connection) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
VCardManager.saveVCard(VCard)
instead.connection
- the XMPPConnection to use.org.jivesoftware.smack.XMPPException.XMPPErrorException
- thrown if there was an issue setting the VCard in the server.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
@Deprecated public void load(org.jivesoftware.smack.XMPPConnection connection) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
VCardManager.loadVCard()
instead.org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
@Deprecated public void load(org.jivesoftware.smack.XMPPConnection connection, org.jxmpp.jid.EntityBareJid user) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
VCardManager.loadVCard(EntityBareJid)
instead.org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
protected org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder xml)
getIQChildElementBuilder
in class org.jivesoftware.smack.packet.IQ
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object