📄 vcard.java
字号:
package com.valhalla.jbother.jabber.smack;
import org.jivesoftware.smack.filter.*;
import org.jivesoftware.smack.packet.*;
import org.jivesoftware.smack.*;
import org.jivesoftware.smack.util.StringUtils;
/** A VCard class for use with the <a href="http://www.jivesoftware.com/xmpp/smack/" target="_blank">SMACK jabber library</a>.
* </p><p>
* You should refer to the <a href="http://www.jabber.org/jeps/jep-0054.html" target="_blank">JEP-54 documentation</a>.
* </p><p>
* 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.
* </p><p>
* When recieving a vcard and address, telephone or email data is found and it is not specified whether it is for work or home,
* it is treated as if it is for work, so it is usefull when retrieving a vcard to call getTel_Work_Voice(), getEmail_Work(),
* etc first. {@link #hasHomeAddress() hasHomeAddress()} and {@link #hasWorkAddress() hasWorkAddress()} can be useful.
* </p><p>
* <b>Usage:</b> <ul>
* <li> Add VCard.class and VCardIQProvider.class to your classpath. </li>
* <li> Call <code> {@link VCardIQProvider#Install() VCardIQProvider#Install()} </code> at the beginning of your code, <br>
* <b>Or</b> <br>
* Add the following in the smack.providers file in the META-INF directory of the smack jar: <br>
* <pre><code><iqProvider>
<elementName>vCard</elementName>
<namespace>vcard-temp</namespace>
<className>VCardIQProvider</className>
</iqProvider>
* </code></pre>
* See the <a href="http://www.jivesoftware.com/builds/docs/smack/latest/documentation/providers.html" target="_blank">SMACK extensions doumentation</a> for more information.</i></li>
* <li> Use the <code>{@link #fetch(XMPPConnection connection) fetch}</code> method to retrieve the users Vcard, the <code>set</code> methods to alter it,
* and <code>{@link #upload(XMPPConnection connection) upload}</code> to upload it. </li>
* <li> Use the <code>{@link #fetch(XMPPConnection connection, String user) fetch}</code> to retrieve another users VCard and
* the <code>get</code> methods to obtain element data. </li>
* <li> The <code>get</code> methods will return null if no data for that element is present.</li> </ul>
* </p>
* <p><b>Changes:</b><ul>
* <li> Removed the listeners in the fetch and upload methods. </li>
* <li> Caught a possable class cast exception when fetching.</li></ul></p>
*<p>
* Licence: GPL.
* @author Pheet
* @version 0.2 */
public final class VCard extends IQ{
private boolean set=false;
private boolean work_address=false;
private boolean home_address=false;
private String FullName;
private String Name_Given;
private String Name_Middle;
private String Name_Family;
private String Name_Prefix;
private String Name_Suffix;
private String Nickname;
private String URL;
private String Birthday;
private String Title;
private String Role;
private String Org_Name;
private String Org_Unit;
/*private String Tel_Work_Voice;
private String Tel_Work_Fax;
private String Tel_Work_Msg;*/
private String Tel_Home_Voice;
private String Tel_Home_Fax;
private String Tel_Home_Msg;
private String Address_Work_House;
private String Address_Work_Street;
private String Address_Work_Locality;
private String Address_Work_Region;
private String Address_Work_PCode;
private String Address_Work_Country;
private String Address_Home_House;
private String Address_Home_Street;
private String Address_Home_Locality;
private String Address_Home_Region;
private String Address_Home_PCode;
private String Address_Home_Country;
private String Email;
private String Description;
private String JabberID;
/** Creates a new blank VCard.*/
public VCard(){
//nothing to do
}
// get Methods
public String getFullName(){
return FullName;
}
public String getName_Given(){
return Name_Given;
}
public String getName_Middle(){
return Name_Middle;
}
public String getName_Family(){
return Name_Family;
}
public String getName_Prefix(){
return Name_Prefix;
}
public String getName_Suffix(){
return Name_Suffix;
}
public String getNickname(){
return Nickname;
}
public String getURL(){
return URL;
}
public String getBirthday(){
return Birthday;
}
public String getTitle(){
return Title;
}
public String getRole(){
return Role;
}
public String getOrg_Name(){
return Org_Name;
}
public String getOrg_Unit(){
return Org_Unit;
}
/*public String getTel_Work_Voice(){
return Tel_Work_Voice;
}
public String getTel_Work_Fax(){
return Tel_Work_Fax;
}
public String getTel_Work_Msg(){
return Tel_Work_Msg;
}*/
public String getTel_Home_Voice(){
return Tel_Home_Voice;
}
public String getTel_Home_Fax(){
return Tel_Home_Fax;
}
public String getTel_Home_Msg(){
return Tel_Home_Msg;
}
public String getAddress_Work_House(){
return Address_Work_House;
}
public String getAddress_Work_Street(){
return Address_Work_Street;
}
public String getAddress_Work_Locality(){
return Address_Work_Locality;
}
public String getAddress_Work_Region(){
return Address_Work_Region;
}
public String getAddress_Work_PCode(){
return Address_Work_PCode;
}
public String getAddress_Work_Country(){
return Address_Work_Country;
}
public String getAddress_Home_House(){
return Address_Home_House;
}
public String getAddress_Home_Street(){
return Address_Home_Street;
}
public String getAddress_Home_Locality(){
return Address_Home_Locality;
}
public String getAddress_Home_Region(){
return Address_Home_Region;
}
public String getAddress_Home_PCode(){
return Address_Home_PCode;
}
public String getAddress_Home_Country(){
return Address_Home_Country;
}
public String getEmail(){
return Email;
}
public String getDescription(){
return Description;
}
public String getJabberID(){
return JabberID;
}
// Set Methods
public void setFullName(String value){
if(value==null){return;}
set=true;
FullName=value;
}
public void setName_Given(String value){
if(value==null){return;}
set=true;
Name_Given=value;
}
public void setName_Middle(String value){
if(value==null){return;}
set=true;
Name_Middle=value;
}
public void setName_Family(String value){
if(value==null){return;}
set=true;
Name_Family=value;
}
public void setName_Prefix(String value){
if(value==null){return;}
set=true;
Name_Prefix=value;
}
public void setName_Suffix(String value){
if(value==null){return;}
set=true;
Name_Suffix=value;
}
public void setNickname(String value){
if(value==null){return;}
set=true;
Nickname=value;
}
public void setURL(String value){
if(value==null){return;}
set=true;
URL=value;
}
public void setBirthday(String value){
if(value==null){return;}
set=true;
Birthday=value;
}
public void setTitle(String value){
if(value==null){return;}
set=true;
Title=value;
}
public void setRole(String value){
if(value==null){return;}
set=true;
Role=value;
}
public void setOrg_Name(String value){
if(value==null){return;}
set=true;
Org_Name=value;
}
public void setOrg_Unit(String value){
if(value==null){return;}
set=true;
Org_Unit=value;
}
/*public void setTel_Work_Voice(String value){
if(value==null){return;}
set=true;
Tel_Work_Voice=value;
}
public void setTel_Work_Fax(String value){
if(value==null){return;}
set=true;
Tel_Work_Fax=value;
}
public void setTel_Work_Msg(String value){
if(value==null){return;}
set=true;
Tel_Work_Msg=value;
}*/
public void setTel_Home_Voice(String value){
if(value==null){return;}
set=true;
Tel_Home_Voice=value;
}
public void setTel_Home_Fax(String value){
if(value==null){return;}
set=true;
Tel_Home_Fax=value;
}
public void setTel_Home_Msg(String value){
if(value==null){return;}
set=true;
Tel_Home_Msg=value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -