using System.Text; /* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace com.google.zxing.client.result { /// /// @author Sean Owen /// public sealed class AddressBookParsedResult : ParsedResult { private readonly string[] names; private readonly string pronunciation; private readonly string[] phoneNumbers; private readonly string[] phoneTypes; private readonly string[] emails; private readonly string[] emailTypes; private readonly string instantMessenger; private readonly string note; private readonly string[] addresses; private readonly string[] addressTypes; private readonly string org; private readonly string birthday; private readonly string title; private readonly string url; public AddressBookParsedResult(string[] names, string pronunciation, string[] phoneNumbers, string[] phoneTypes, string[] emails, string[] emailTypes, string instantMessenger, string note, string[] addresses, string[] addressTypes, string org, string birthday, string title, string url) : base(ParsedResultType.ADDRESSBOOK) { this.names = names; this.pronunciation = pronunciation; this.phoneNumbers = phoneNumbers; this.phoneTypes = phoneTypes; this.emails = emails; this.emailTypes = emailTypes; this.instantMessenger = instantMessenger; this.note = note; this.addresses = addresses; this.addressTypes = addressTypes; this.org = org; this.birthday = birthday; this.title = title; this.url = url; } public string[] Names { get { return names; } } /// /// In Japanese, the name is written in kanji, which can have multiple readings. Therefore a hint /// is often provided, called furigana, which spells the name phonetically. /// /// The pronunciation of the getNames() field, often in hiragana or katakana. public string Pronunciation { get { return pronunciation; } } public string[] PhoneNumbers { get { return phoneNumbers; } } /// optional descriptions of the type of each phone number. It could be like "HOME", but, /// there is no guaranteed or standard format. public string[] PhoneTypes { get { return phoneTypes; } } public string[] Emails { get { return emails; } } /// optional descriptions of the type of each e-mail. It could be like "WORK", but, /// there is no guaranteed or standard format. public string[] EmailTypes { get { return emailTypes; } } public string InstantMessenger { get { return instantMessenger; } } public string Note { get { return note; } } public string[] Addresses { get { return addresses; } } /// optional descriptions of the type of each e-mail. It could be like "WORK", but, /// there is no guaranteed or standard format. public string[] AddressTypes { get { return addressTypes; } } public string Title { get { return title; } } public string Org { get { return org; } } public string URL { get { return url; } } /// birthday formatted as yyyyMMdd (e.g. 19780917) public string Birthday { get { return birthday; } } public override string DisplayResult { get { StringBuilder result = new StringBuilder(100); maybeAppend(names, result); maybeAppend(pronunciation, result); maybeAppend(title, result); maybeAppend(org, result); maybeAppend(addresses, result); maybeAppend(phoneNumbers, result); maybeAppend(emails, result); maybeAppend(instantMessenger, result); maybeAppend(url, result); maybeAppend(birthday, result); maybeAppend(note, result); return result.ToString(); } } } }