|
Smack | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jivesoftware.smack.packet.Packet org.jivesoftware.smack.packet.IQ org.jivesoftware.smackx.packet.VCard
public class VCard
A VCard class for use with the SMACK jabber library.
You should refer to the JEP-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
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ |
---|
IQ.Type |
Field Summary |
---|
Fields inherited from class org.jivesoftware.smack.packet.Packet |
---|
DEFAULT_LANGUAGE, ID_NOT_AVAILABLE |
Constructor Summary | |
---|---|
VCard()
|
Method Summary | |
---|---|
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 |
getChildElementXML()
Returns the sub-element XML section of the IQ packet, or null if there isn't one. |
java.lang.String |
getEmailHome()
|
java.lang.String |
getEmailWork()
|
java.lang.String |
getField(java.lang.String field)
Set generic VCard field. |
java.lang.String |
getFirstName()
|
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 |
int |
hashCode()
|
void |
load(Connection connection)
Load VCard information for a connected user. |
void |
load(Connection connection,
java.lang.String user)
Load VCard information for a given user. |
void |
removeAvatar()
Removes the avatar from the vCard This is done by setting the PHOTO value to the empty string as defined in XEP-0153 |
void |
save(Connection connection)
Save this vCard for the user connected by 'connection'. |
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 |
java.lang.String |
toString()
|
Methods inherited from class org.jivesoftware.smack.packet.IQ |
---|
createErrorResponse, createResultIQ, getType, setType, toXML |
Methods inherited from class org.jivesoftware.smack.packet.Packet |
---|
addExtension, addExtensions, deleteProperty, getDefaultLanguage, getError, getExtension, getExtension, getExtensions, getExtensionsXML, getFrom, getPacketID, getProperty, getPropertyNames, getTo, getXmlns, nextID, removeExtension, setDefaultXmlns, setError, setFrom, setPacketID, setProperty, setTo |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public VCard()
Method Detail |
---|
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 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 imagepublic 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()
public void save(Connection connection) throws XMPPException
NOTE: the method is asynchronous and does not wait for the returned value.
connection
- the Connection to use.
XMPPException
- thrown if there was an issue setting the VCard in the server.public void load(Connection connection) throws XMPPException
XMPPException
public void load(Connection connection, java.lang.String user) throws XMPPException
XMPPException
public java.lang.String getChildElementXML()
IQ
Extensions of this class must override this method.
getChildElementXML
in class IQ
public boolean equals(java.lang.Object o)
equals
in class Packet
public int hashCode()
hashCode
in class Packet
public java.lang.String toString()
toString
in class java.lang.Object
|
Smack | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |