ImpsContactListAddress.java
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:2k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2007-2008 Esmertec AG.
  3.  * Copyright (C) 2007-2008 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im.imps;
  18. import com.android.im.engine.ContactList;
  19. import com.android.im.engine.ContactListManager;
  20. import com.android.im.engine.ImEntity;
  21. public class ImpsContactListAddress extends ImpsAddress{
  22.     /**
  23.      * Default Constructor. Required by AddressParcelHelper.
  24.      */
  25.     public ImpsContactListAddress() {
  26.     }
  27.     public ImpsContactListAddress(ImpsAddress userAddress, String name) {
  28.         super(userAddress.getUser(), name, userAddress.getDomain());
  29.         if(mResource == null) {
  30.             throw new IllegalArgumentException("resource can not be null");
  31.         }
  32.     }
  33.     public ImpsContactListAddress(String full, boolean verify) {
  34.         super(full, verify);
  35.         if(mResource == null) {
  36.             throw new IllegalArgumentException("resource can not be null");
  37.         }
  38.     }
  39.     public ImpsContactListAddress(String full) {
  40.         this(full, false);
  41.     }
  42.     @Override
  43.     public PrimitiveElement toPrimitiveElement() {
  44.         PrimitiveElement contactList = new PrimitiveElement(ImpsTags.ContactList);
  45.         contactList.setContents(getFullName());
  46.         return contactList;
  47.     }
  48.     @Override
  49.     public String getScreenName() {
  50.         return getResource();
  51.     }
  52.     @Override
  53.     public ImEntity getEntity(ImpsConnection connection) {
  54.         ContactListManager manager = connection.getContactListManager();
  55.         for(ContactList list : manager.getContactLists()) {
  56.             if(list.getAddress().equals(this)) {
  57.                 return list;
  58.             }
  59.         }
  60.         return null;
  61.     }
  62. }