12644d947574240b71c427d457f7a775dc160ec09Yorke Lee/*
22644d947574240b71c427d457f7a775dc160ec09Yorke Lee * Copyright (C) 2012 The Android Open Source Project
32644d947574240b71c427d457f7a775dc160ec09Yorke Lee *
42644d947574240b71c427d457f7a775dc160ec09Yorke Lee * Licensed under the Apache License, Version 2.0 (the "License");
52644d947574240b71c427d457f7a775dc160ec09Yorke Lee * you may not use this file except in compliance with the License.
62644d947574240b71c427d457f7a775dc160ec09Yorke Lee * You may obtain a copy of the License at
72644d947574240b71c427d457f7a775dc160ec09Yorke Lee *
82644d947574240b71c427d457f7a775dc160ec09Yorke Lee *      http://www.apache.org/licenses/LICENSE-2.0
92644d947574240b71c427d457f7a775dc160ec09Yorke Lee *
102644d947574240b71c427d457f7a775dc160ec09Yorke Lee * Unless required by applicable law or agreed to in writing, software
112644d947574240b71c427d457f7a775dc160ec09Yorke Lee * distributed under the License is distributed on an "AS IS" BASIS,
122644d947574240b71c427d457f7a775dc160ec09Yorke Lee * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132644d947574240b71c427d457f7a775dc160ec09Yorke Lee * See the License for the specific language governing permissions and
142644d947574240b71c427d457f7a775dc160ec09Yorke Lee * limitations under the License.
152644d947574240b71c427d457f7a775dc160ec09Yorke Lee */
162644d947574240b71c427d457f7a775dc160ec09Yorke Lee
1769c182afb0e6d82a341a28b4317aa703af768906Gary Maipackage com.android.contacts.model.dataitem;
182644d947574240b71c427d457f7a775dc160ec09Yorke Lee
192644d947574240b71c427d457f7a775dc160ec09Yorke Leeimport android.content.ContentValues;
202644d947574240b71c427d457f7a775dc160ec09Yorke Leeimport android.provider.ContactsContract;
212644d947574240b71c427d457f7a775dc160ec09Yorke Leeimport android.provider.ContactsContract.CommonDataKinds.StructuredName;
222644d947574240b71c427d457f7a775dc160ec09Yorke Leeimport android.provider.ContactsContract.Contacts.Data;
232644d947574240b71c427d457f7a775dc160ec09Yorke Lee
242644d947574240b71c427d457f7a775dc160ec09Yorke Lee/**
252644d947574240b71c427d457f7a775dc160ec09Yorke Lee * Represents a structured name data item, wrapping the columns in
262644d947574240b71c427d457f7a775dc160ec09Yorke Lee * {@link ContactsContract.CommonDataKinds.StructuredName}.
272644d947574240b71c427d457f7a775dc160ec09Yorke Lee */
282644d947574240b71c427d457f7a775dc160ec09Yorke Leepublic class StructuredNameDataItem extends DataItem {
292644d947574240b71c427d457f7a775dc160ec09Yorke Lee
302644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public StructuredNameDataItem() {
312644d947574240b71c427d457f7a775dc160ec09Yorke Lee        super(new ContentValues());
322644d947574240b71c427d457f7a775dc160ec09Yorke Lee        getContentValues().put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
332644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
342644d947574240b71c427d457f7a775dc160ec09Yorke Lee
352644d947574240b71c427d457f7a775dc160ec09Yorke Lee    /* package */ StructuredNameDataItem(ContentValues values) {
362644d947574240b71c427d457f7a775dc160ec09Yorke Lee        super(values);
372644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
382644d947574240b71c427d457f7a775dc160ec09Yorke Lee
392644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getDisplayName() {
402644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.DISPLAY_NAME);
412644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
422644d947574240b71c427d457f7a775dc160ec09Yorke Lee
432644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public void setDisplayName(String name) {
442644d947574240b71c427d457f7a775dc160ec09Yorke Lee        getContentValues().put(StructuredName.DISPLAY_NAME, name);
452644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
462644d947574240b71c427d457f7a775dc160ec09Yorke Lee
472644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getGivenName() {
482644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.GIVEN_NAME);
492644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
502644d947574240b71c427d457f7a775dc160ec09Yorke Lee
512644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getFamilyName() {
522644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.FAMILY_NAME);
532644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
542644d947574240b71c427d457f7a775dc160ec09Yorke Lee
552644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getPrefix() {
562644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.PREFIX);
572644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
582644d947574240b71c427d457f7a775dc160ec09Yorke Lee
592644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getMiddleName() {
602644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.MIDDLE_NAME);
612644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
622644d947574240b71c427d457f7a775dc160ec09Yorke Lee
632644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getSuffix() {
642644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.SUFFIX);
652644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
662644d947574240b71c427d457f7a775dc160ec09Yorke Lee
672644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getPhoneticGivenName() {
682644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.PHONETIC_GIVEN_NAME);
692644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
702644d947574240b71c427d457f7a775dc160ec09Yorke Lee
712644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getPhoneticMiddleName() {
722644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.PHONETIC_MIDDLE_NAME);
732644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
742644d947574240b71c427d457f7a775dc160ec09Yorke Lee
752644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getPhoneticFamilyName() {
762644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.PHONETIC_FAMILY_NAME);
772644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
782644d947574240b71c427d457f7a775dc160ec09Yorke Lee
792644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public String getFullNameStyle() {
802644d947574240b71c427d457f7a775dc160ec09Yorke Lee        return getContentValues().getAsString(StructuredName.FULL_NAME_STYLE);
812644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
822644d947574240b71c427d457f7a775dc160ec09Yorke Lee
832644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public void setPhoneticFamilyName(String name) {
842644d947574240b71c427d457f7a775dc160ec09Yorke Lee        getContentValues().put(StructuredName.PHONETIC_FAMILY_NAME, name);
852644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
862644d947574240b71c427d457f7a775dc160ec09Yorke Lee
872644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public void setPhoneticMiddleName(String name) {
882644d947574240b71c427d457f7a775dc160ec09Yorke Lee        getContentValues().put(StructuredName.PHONETIC_MIDDLE_NAME, name);
892644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
902644d947574240b71c427d457f7a775dc160ec09Yorke Lee
912644d947574240b71c427d457f7a775dc160ec09Yorke Lee    public void setPhoneticGivenName(String name) {
922644d947574240b71c427d457f7a775dc160ec09Yorke Lee        getContentValues().put(StructuredName.PHONETIC_GIVEN_NAME, name);
932644d947574240b71c427d457f7a775dc160ec09Yorke Lee    }
948010cd5a07502e894bb6ef86ce706afcc3fdf1e8Walter Jang
958010cd5a07502e894bb6ef86ce706afcc3fdf1e8Walter Jang    public boolean isSuperPrimary() {
96f3a95a986fb25fb97b8ea45e778aaf86752f4e29Walter Jang        final ContentValues contentValues = getContentValues();
97f3a95a986fb25fb97b8ea45e778aaf86752f4e29Walter Jang        return contentValues == null || !contentValues.containsKey(StructuredName.IS_SUPER_PRIMARY)
98f3a95a986fb25fb97b8ea45e778aaf86752f4e29Walter Jang                ? false : contentValues.getAsBoolean(StructuredName.IS_SUPER_PRIMARY);
998010cd5a07502e894bb6ef86ce706afcc3fdf1e8Walter Jang    }
1002644d947574240b71c427d457f7a775dc160ec09Yorke Lee}
101