/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
*
* 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.
*/
package net.java.sip.communicator.impl.protocol.jabber;
import java.util.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.util.call.*;
/**
* The OperationSetCusaxUtilsJabberImpl provides utility methods
* related to the Jabber CUSAX implementation.
*
* @author Yana Stamcheva
*/
public class OperationSetCusaxUtilsJabberImpl
implements OperationSetCusaxUtils
{
/**
* The parent jabber protocol provider.
*/
private final ProtocolProviderServiceJabberImpl jabberProvider;
/**
* Creates an instance of OperationSetCusaxUtilsJabberImpl by
* specifying the parent jabber ProtocolProviderServiceJabberImpl.
*
* @param jabberProvider the parent
* ProtocolProviderServiceJabberImpl
*/
public OperationSetCusaxUtilsJabberImpl(
ProtocolProviderServiceJabberImpl jabberProvider)
{
this.jabberProvider = jabberProvider;
}
/**
* Checks if the given detailAddress exists in the given
* contact details.
*
* @param contact the Contact, which details to check
* @param detailAddress the detail address we're looking for
* @return true if the given detailAdress exists in the
* details of the given contact
*/
public boolean doesDetailBelong(Contact contact, String detailAddress)
{
List contactPhones
= ContactPhoneUtil.getContactAdditionalPhones(
contact, null, false, false);
if (contactPhones == null || contactPhones.size() <= 0)
return false;
Iterator phonesIter = contactPhones.iterator();
while (phonesIter.hasNext())
{
String phone = phonesIter.next();
String normalizedPhone = JabberActivator.getPhoneNumberI18nService()
.normalize(phone);
if (phone.equals(detailAddress)
|| normalizedPhone.equals(detailAddress)
|| detailAddress.contains(phone)
|| detailAddress.contains(normalizedPhone))
return true;
}
return false;
}
/**
* Returns the linked CUSAX provider for this protocol provider.
*
* @return the linked CUSAX provider for this protocol provider or null
* if such isn't specified
*/
public ProtocolProviderService getLinkedCusaxProvider()
{
return null;
}
}