• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import { Data } from '../contract/Data';
17import DataType from '../contract/DataType';
18
19/**
20 * Contact data
21 */
22export class DataItem {
23  readonly values: Map<string, any>;
24  constructor(values: Map<string, any>) {
25    this.values = values;
26  }
27
28  static fromResultSet(resultSet: any): DataItem{
29    let contentValues: Map<string, any> = new Map();
30    contentValues.set(Data.ID, resultSet.getLong(resultSet.getColumnIndex(Data.ID)));
31    contentValues.set(Data.TYPE_ID, resultSet.getLong(resultSet.getColumnIndex(Data.TYPE_ID)));
32    contentValues.set(Data.RAW_CONTACT_ID, resultSet.getLong(resultSet.getColumnIndex(Data.RAW_CONTACT_ID)));
33    contentValues.set(Data.READ_ONLY, resultSet.getLong(resultSet.getColumnIndex(Data.READ_ONLY)) > 0 ? true : false);
34    contentValues.set(Data.DETAIL_INFO, resultSet.getString(resultSet.getColumnIndex(Data.DETAIL_INFO)));
35    contentValues.set(Data.FAMILY_NAME, resultSet.getString(resultSet.getColumnIndex(Data.FAMILY_NAME)));
36    contentValues.set(Data.MIDDLE_NAME_PHONETIC, resultSet.getString(resultSet.getColumnIndex(Data.MIDDLE_NAME_PHONETIC)));
37    contentValues.set(Data.IS_PREFERRED_NUMBER, resultSet.getLong(resultSet.getColumnIndex(Data.IS_PREFERRED_NUMBER)));
38    contentValues.set(Data.GIVEN_NAME, resultSet.getString(resultSet.getColumnIndex(Data.GIVEN_NAME)));
39    contentValues.set(Data.GIVEN_NAME_PHONETIC, resultSet.getString(resultSet.getColumnIndex(Data.GIVEN_NAME_PHONETIC)));
40    contentValues.set(Data.ALIAS_DETAIL_INTO, resultSet.getString(resultSet.getColumnIndex(Data.ALIAS_DETAIL_INTO)));
41    contentValues.set(Data.PHONETIC_NAME, resultSet.getString(resultSet.getColumnIndex(Data.PHONETIC_NAME)));
42    contentValues.set(Data.POSITION, resultSet.getString(resultSet.getColumnIndex(Data.POSITION)));
43    contentValues.set(Data.CITY, resultSet.getString(resultSet.getColumnIndex(Data.CITY)));
44    contentValues.set(Data.COUNTRY, resultSet.getString(resultSet.getColumnIndex(Data.COUNTRY)));
45    contentValues.set(Data.NEIGHBORHOOD, resultSet.getString(resultSet.getColumnIndex(Data.NEIGHBORHOOD)));
46    contentValues.set(Data.POBOX, resultSet.getString(resultSet.getColumnIndex(Data.POBOX)));
47    contentValues.set(Data.POSTCODE, resultSet.getString(resultSet.getColumnIndex(Data.POSTCODE)));
48    contentValues.set(Data.REGION, resultSet.getString(resultSet.getColumnIndex(Data.REGION)));
49    contentValues.set(Data.STREET, resultSet.getString(resultSet.getColumnIndex(Data.STREET)));
50    contentValues.set(Data.ALPHA_NAME, resultSet.getString(resultSet.getColumnIndex(Data.ALPHA_NAME)));
51    contentValues.set(Data.OTHER_LAN_LAST_NAME, resultSet.getString(resultSet.getColumnIndex(Data.OTHER_LAN_LAST_NAME)));
52    contentValues.set(Data.OTHER_LAN_FIRST_NAME, resultSet.getString(resultSet.getColumnIndex(Data.OTHER_LAN_FIRST_NAME)));
53    contentValues.set(Data.LAN_STYLE, resultSet.getString(resultSet.getColumnIndex(Data.LAN_STYLE)));
54    contentValues.set(Data.CUSTOM_DATA, resultSet.getString(resultSet.getColumnIndex(Data.CUSTOM_DATA)));
55    contentValues.set(Data.BLOB_DATA, resultSet.getString(resultSet.getColumnIndex(Data.BLOB_DATA)));
56    contentValues.set(Data.EXTEND1, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND1)));
57    contentValues.set(Data.EXTEND2, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND2)));
58    contentValues.set(Data.EXTEND3, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND3)));
59    contentValues.set(Data.EXTEND4, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND4)));
60    contentValues.set(Data.EXTEND5, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND5)));
61    contentValues.set(Data.EXTEND6, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND6)));
62    contentValues.set(Data.EXTEND7, resultSet.getString(resultSet.getColumnIndex(Data.EXTEND7)));
63    contentValues.set(Data.SYN_1, resultSet.getString(resultSet.getColumnIndex(Data.SYN_1)));
64    contentValues.set(Data.SYN_2, resultSet.getString(resultSet.getColumnIndex(Data.SYN_2)));
65    contentValues.set(Data.SYN_3, resultSet.getString(resultSet.getColumnIndex(Data.SYN_3)));
66    contentValues.set(Data.FAVORITE, resultSet.getString(resultSet.getColumnIndex(Data.FAVORITE)));
67    return new DataItem(contentValues);
68  }
69
70  getId() {
71    return this.values.get(Data.ID);
72  }
73
74  getContentTypeId() {
75    return this.values.get(Data.TYPE_ID);
76  }
77
78  getData() {
79    return this.values.get(DataType.DATA);
80  }
81
82  getLabelId() {
83    return this.values.get(DataType.LABEL_ID);
84  }
85
86  getLabelName() {
87    return this.values.get(DataType.LABEL_NAME);
88  }
89
90  getFavorite() {
91    return this.values.get(DataType.FAVORITE);
92  }
93}