001: package org.columba.addressbook.model;
002:
003: // The contents of this file are subject to the Mozilla Public License Version
004: // 1.1
005: //(the "License"); you may not use this file except in compliance with the
006: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
007: //
008: //Software distributed under the License is distributed on an "AS IS" basis,
009: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
010: //for the specific language governing rights and
011: //limitations under the License.
012: //
013: //The Original Code is "The Columba Project"
014: //
015: //The Initial Developers of the Original Code are Frederik Dietz and Timo
016: // Stich.
017: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
018: //
019: //All Rights Reserved.
020: /**
021: * All VCARD features Columba is able to handle.
022: * <p>
023: * vCard standard: http://www.zvon.org/tmRFC/RFC2426/Output/index.html vCard in
024: * RDF/XML: http://www.w3.org/TR/vcard-rdf
025: *
026: * @author fdietz
027: */
028: public interface VCARD {
029:
030: public static String VCARD = "vcard";
031:
032: public static String ID = "id";
033:
034: /** *********************** Identification Types *********************** */
035:
036: /**
037: * These types are used in the vCard profile to capture information
038: * associated with the identification and naming of the person or resource
039: * associated with the vCard.
040: */
041:
042: /**
043: * Type purpose: To specify the formatted text corresponding to the name of
044: * the object the vCard represents.
045: * <p>
046: * Example: Mr. John Q. Public
047: */
048: public static String FN = "fn";
049:
050: /**
051: * Type purpose: To specify the components of the name of the object the
052: * vCard represents.
053: * <p>
054: * The structured type value corresponds, in sequence, to the Family Name,
055: * Given Name, Additional Names, Honorific Prefixes, and Honorific Suffixes.
056: * <p>
057: * Example: Public;John;Quinlan;Mr.
058: */
059: public static String N = "n";
060:
061: public static String N_PREFIX = "prefix";
062:
063: public static String N_FAMILY = "family";
064:
065: public static String N_GIVEN = "given";
066:
067: public static String N_ADDITIONALNAMES = "additionalnames";
068:
069: public static String N_SUFFIX = "suffix";
070:
071: /**
072: * Type purpose: To specify the text corresponding to the nickname of the
073: * object the vCard represents.
074: * <p>
075: * The nickname is the descriptive name given instead of or in addition to
076: * the one belonging to a person, place, or thing. It can also be used to
077: * specify a familiar form of a proper name specified by the FN or N types.
078: * <p>
079: * Example: Robbie
080: */
081: public static String NICKNAME = "nickname";
082:
083: /**
084: * Type purpose: To specify the family name or given name text to be used
085: * for national-language-specific sorting of the FN and N types.
086: * <p>
087: * The sort string is used to provide family name or given name text that is
088: * to be used in locale- or national-language- specific sorting of the
089: * formatted name and structured name types. Without this information,
090: * sorting algorithms could incorrectly sort this vCard within a sequence of
091: * sorted vCards. When this type is present in a vCard, then this family
092: * name or given name value is used for sorting the vCard.
093: */
094: public static String SORTSTRING = "sort-string";
095:
096: /**
097: * Columba-specific extension
098: * <p>
099: * Name which is displayed throughout Columba.
100: * @deprecated use formattedName instead
101: */
102: public static String DISPLAYNAME = "displayname";
103:
104: /**
105: * ****************** Delivery Addressing Types ********************
106: */
107:
108: /**
109: * These types are concerned with information related to the delivery
110: * addressing or label for the vCard object.
111: */
112:
113: /**
114: * Type purpose: To specify the components of the delivery address for the
115: * vCard object.
116: * <p>
117: * The structured type value consists of a sequence of address components.
118: * The structured type value corresponds, in sequence, to the post office
119: * box; the extended address; the street address; the locality (e.g., city);
120: * the region (e.g., state or province); the postal code; the country name.
121: * <p>
122: * The type can include the type parameter "TYPE" to specify the delivery
123: * address type. The TYPE parameter values can include "dom" to indicate a
124: * domestic delivery address; "intl" to indicate an international delivery
125: * address; "postal" to indicate a postal delivery address; "parcel" to
126: * indicate a parcel delivery address; "home" to indicate a delivery address
127: * for a residence; "work" to indicate delivery address for a place of work;
128: * and "pref" to indicate the preferred delivery address when more than one
129: * address is specified.
130: */
131: public static String ADR = "adr";
132:
133: public static String ADR_POSTOFFICEBOX = "pobox";
134:
135: public static String ADR_EXTENDEDADDRESS = "extadd";
136:
137: public static String ADR_STREETADDRESS = "street";
138:
139: // city
140: public static String ADR_LOCALITY = "locality";
141:
142: // state/province/county
143: public static String ADR_REGION = "region";
144:
145: public static String ADR_POSTALCODE = "pcode";
146:
147: public static String ADR_COUNTRY = "country";
148:
149: public static String ADR_TYPE_DOM = "dom";
150:
151: public static String ADR_TYPE_INTL = "intl";
152:
153: public static String ADR_TYPE_POSTAL = "postal";
154:
155: public static String ADR_TYPE_PARCEL = "parcel";
156:
157: public static String ADR_TYPE_HOME = "home";
158:
159: public static String ADR_TYPE_WORK = "work";
160:
161: public static String ADR_TYPE_PREF = "pref";
162:
163: /**
164: * Type purpose: To specify the formatted text corresponding to delivery
165: * address of the object the vCard represents.
166: * <p>
167: * The type value is formatted text that can be used to present a delivery
168: * address label for the vCard object. The type can include the type
169: * parameter "TYPE" to specify delivery label type. The TYPE parameter
170: * values can include all the different types already found in ADR,
171: * specified above.
172: */
173: public static String LABEL = "label";
174:
175: public static String LABEL_TYPE_DOM = "dom";
176:
177: public static String LABEL_TYPE_INTL = "intl";
178:
179: public static String LABEL_TYPE_POSTAL = "postal";
180:
181: public static String LABEL_TYPE_PARCEL = "parcel";
182:
183: public static String LABEL_TYPE_HOME = "home";
184:
185: public static String LABEL_TYPE_WORK = "work";
186:
187: public static String LABEL_TYPE_PREF = "pref";
188:
189: /**
190: * *************Telecommunications Addressing Types *************
191: */
192:
193: /**
194: * These types are concerned with information associated with the
195: * telecommunications addressing of the object the vCard represents.
196: */
197:
198: /**
199: * Type purpose: To specify the telephone number for telephony communication
200: * with the object the vCard represents.
201: * <p>
202: * The value of this type is specified in a canonical form in order to
203: * specify an unambiguous representation of the globally unique telephone
204: * endpoint. This type is based on the X.500 Telephone Number attribute.
205: * <p>
206: * The type can include the type parameter "TYPE" to specify intended use
207: * for the telephone number. The TYPE parameter values can include: "home"
208: * to indicate a telephone number associated with a residence, "msg" to
209: * indicate the telephone number has voice messaging support, "work" to
210: * indicate a telephone number associated with a place of work, "pref" to
211: * indicate a preferred-use telephone number, "voice" to indicate a voice
212: * telephone number, "fax" to indicate a facsimile telephone number, "cell"
213: * to indicate a cellular telephone number, "video" to indicate a video
214: * conferencing telephone number, "pager" to indicate a paging device
215: * telephone number, "bbs" to indicate a bulletin board system telephone
216: * number, "modem" to indicate a MODEM connected telephone number, "car" to
217: * indicate a car-phone telephone number, "isdn" to indicate an ISDN service
218: * telephone number, "pcs" to indicate a personal communication services
219: * telephone number. The default type is "voice".
220: */
221: public static String TEL = "tel";
222:
223: public static String TEL_TYPE_HOME = "home";
224:
225: public static String TEL_TYPE_MSG = "msg";
226:
227: public static String TEL_TYPE_WORK = "work";
228:
229: public static String TEL_TYPE_PREF = "pref";
230:
231: public static String TEL_TYPE_VOICE = "voice";
232:
233: public static String TEL_TYPE_FAX = "fax";
234:
235: public static String TEL_TYPE_CELL = "cell";
236:
237: public static String TEL_TYPE_VIDEO = "video";
238:
239: public static String TEL_TYPE_PAGER = "pager";
240:
241: public static String TEL_TYPE_BBS = "bbs";
242:
243: public static String TEL_TYPE_MODEM = "modem";
244:
245: public static String TEL_TYPE_CAR = "car";
246:
247: public static String TEL_TYPE_ISDN = "isdn";
248:
249: public static String TEL_TYPE_PCS = "pcs";
250:
251: /**
252: * Type purpose: To specify the electronic mail address for communication
253: * with the object the vCard represents.
254: * <p>
255: * The type can include the type parameter "TYPE" to specify the format or
256: * preference of the electronic mail address. The TYPE parameter values can
257: * include: "internet" to indicate an Internet addressing type, "x400" to
258: * indicate a X.400 addressing type or "pref" to indicate a preferred-use
259: * email address when more than one is specified.
260: */
261: public static String EMAIL = "email";
262:
263: public static String EMAIL_TYPE_INTERNET = "internet";
264:
265: public static String EMAIL_TYPE_X400 = "x400";
266:
267: public static String EMAIL_TYPE_PREF = "pref";
268:
269: /** ********************* Organizational Types ********************* */
270:
271: /**
272: * These types are concerned with information associated with
273: * characteristics of the organization or organizational units of the object
274: * the vCard represents.
275: */
276:
277: /**
278: * Type purpose: To specify information concerning the role, occupation, or
279: * business category of the object the vCard represents.
280: * <p>
281: * This type is based on the X.520 Business Category explanatory attribute.
282: * This property is included as an organizational type to avoid confusion
283: * with the semantics of the TITLE type and incorrect usage of that type
284: * when the semantics of this type is intended.
285: */
286: public static String ROLE = "role";
287:
288: /**
289: * Type purpose: To specify the job title, functional position or
290: * function of the object the vCard represents.
291: * <p>
292: * This type is based on the X.520 Title attribute.
293: */
294: public static String TITLE = "title";
295:
296: /**
297: * Type purpose: To specify the organizational name and units associated
298: * with the vCard.
299: * <p>
300: * The type is based on the X.520 Organization Name and Organization Unit
301: * attributes. The type value is a structured type consisting of the
302: * organization name, followed by one or more levels of organizational unit
303: * names.
304: */
305: public static String ORG = "org";
306:
307: public static String X_COLUMBA_DEPARTMENT = "department";
308: public static String X_COLUMBA_OFFICE = "office";
309:
310: public static String URL = "url";
311:
312: public static String BDAY = "bday";
313:
314: public static String NOTE = "note";
315:
316: public static String CATEGORY = "category";
317:
318: public static String PHOTO = "photo";
319: /**
320: * Columba-specific extensions
321: */
322: public static String X_COLUMBA_URL_BLOG = "url-blog";
323: public static String X_COLUMBA_URL_CALENDAR = "url-calendar";
324: public static String X_COLUMBA_URL_FREEBUSY = "url-freebusy";
325:
326: public static String IM = "im";
327:
328: public static String X_COLUMBA_IM_YAHOO = "im-yahoo";
329: public static String X_COLUMBA_IM_AIM = "im-aim";
330: public static String X_COLUMBA_IM_JABBER = "im-jabber";
331: public static String X_COLUMBA_IM_MSN = "im-msn";
332: public static String X_COLUMBA_IM_ICQ = "im-icq";
333:
334: }
|