package com.xabber.android.data;
import com.xabber.android.R;
import com.xabber.xmpp.vcard.AddressProperty;
import com.xabber.xmpp.vcard.AddressType;
import com.xabber.xmpp.vcard.EmailType;
import com.xabber.xmpp.vcard.TelephoneType;
import java.util.HashMap;
import java.util.Map;
/**
* Created by grigory.fedorov on 13.04.15.
*/
public class VcardMaps {
private static final Map<AddressType, Integer> ADDRESS_TYPE_MAP = new HashMap<>();
private static final Map<AddressProperty, Integer> ADDRESS_PROPERTY_MAP = new HashMap<>();
private static final Map<TelephoneType, Integer> TELEPHONE_TYPE_MAP = new HashMap<>();
private static final Map<EmailType, Integer> EMAIL_TYPE_MAP = new HashMap<>();
static {
ADDRESS_TYPE_MAP.put(AddressType.DOM, R.string.vcard_type_dom);
ADDRESS_TYPE_MAP.put(AddressType.HOME, R.string.vcard_type_home);
ADDRESS_TYPE_MAP.put(AddressType.INTL, R.string.vcard_type_intl);
ADDRESS_TYPE_MAP.put(AddressType.PARCEL, R.string.vcard_type_parcel);
ADDRESS_TYPE_MAP.put(AddressType.POSTAL, R.string.vcard_type_postal);
ADDRESS_TYPE_MAP.put(AddressType.PREF, R.string.vcard_type_pref);
ADDRESS_TYPE_MAP.put(AddressType.WORK, R.string.vcard_type_work);
if (ADDRESS_TYPE_MAP.size() != AddressType.values().length)
throw new IllegalStateException();
ADDRESS_PROPERTY_MAP.put(AddressProperty.CTRY,
R.string.vcard_address_ctry);
ADDRESS_PROPERTY_MAP.put(AddressProperty.EXTADR,
R.string.vcard_address_extadr);
ADDRESS_PROPERTY_MAP.put(AddressProperty.LOCALITY,
R.string.vcard_address_locality);
ADDRESS_PROPERTY_MAP.put(AddressProperty.PCODE,
R.string.vcard_address_pcode);
ADDRESS_PROPERTY_MAP.put(AddressProperty.POBOX,
R.string.vcard_address_pobox);
ADDRESS_PROPERTY_MAP.put(AddressProperty.REGION,
R.string.vcard_address_region);
ADDRESS_PROPERTY_MAP.put(AddressProperty.STREET,
R.string.vcard_address_street);
if (ADDRESS_PROPERTY_MAP.size() != AddressProperty.values().length)
throw new IllegalStateException();
TELEPHONE_TYPE_MAP.put(TelephoneType.BBS, R.string.bbs);
TELEPHONE_TYPE_MAP.put(TelephoneType.CELL, R.string.vcard_type_cell);
TELEPHONE_TYPE_MAP.put(TelephoneType.FAX, R.string.vcard_type_fax);
TELEPHONE_TYPE_MAP.put(TelephoneType.HOME, R.string.vcard_type_home);
TELEPHONE_TYPE_MAP.put(TelephoneType.ISDN, R.string.isdn);
TELEPHONE_TYPE_MAP.put(TelephoneType.MODEM, R.string.vcard_type_modem);
TELEPHONE_TYPE_MAP.put(TelephoneType.MSG, R.string.vcard_type_msg);
TELEPHONE_TYPE_MAP.put(TelephoneType.PAGER, R.string.vcard_type_pager);
TELEPHONE_TYPE_MAP.put(TelephoneType.PCS, R.string.pcs);
TELEPHONE_TYPE_MAP.put(TelephoneType.PREF, R.string.vcard_type_pref);
TELEPHONE_TYPE_MAP.put(TelephoneType.VIDEO, R.string.vcard_type_video);
TELEPHONE_TYPE_MAP.put(TelephoneType.VOICE, R.string.vcard_type_voice);
TELEPHONE_TYPE_MAP.put(TelephoneType.WORK, R.string.vcard_type_work);
if (TELEPHONE_TYPE_MAP.size() != TelephoneType.values().length)
throw new IllegalStateException();
EMAIL_TYPE_MAP.put(EmailType.HOME, R.string.vcard_type_home);
EMAIL_TYPE_MAP.put(EmailType.INTERNET, R.string.vcard_type_internet);
EMAIL_TYPE_MAP.put(EmailType.PREF, R.string.vcard_type_pref);
EMAIL_TYPE_MAP.put(EmailType.WORK, R.string.vcard_type_work);
EMAIL_TYPE_MAP.put(EmailType.X400, R.string.x400);
if (EMAIL_TYPE_MAP.size() != EmailType.values().length)
throw new IllegalStateException();
}
public static Map<AddressType, Integer> getAddressTypeMap() {
return ADDRESS_TYPE_MAP;
}
public static Map<AddressProperty, Integer> getAddressPropertyMap() {
return ADDRESS_PROPERTY_MAP;
}
public static Map<TelephoneType, Integer> getTelephoneTypeMap() {
return TELEPHONE_TYPE_MAP;
}
public static Map<EmailType, Integer> getEmailTypeMap() {
return EMAIL_TYPE_MAP;
}
}