/* * CDDL HEADER START * * The contents of this file are subject to the terms of the Common Development * and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at * src/com/vodafone360/people/VODAFONE.LICENSE.txt or * http://github.com/360/360-Engine-for-Android * See the License for the specific language governing permissions and * limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each file and * include the License file at src/com/vodafone360/people/VODAFONE.LICENSE.txt. * If applicable, add the following below this CDDL HEADER, with the fields * enclosed by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * Copyright 2010 Vodafone Sales & Services Ltd. All rights reserved. * Use is subject to license terms. */ package com.vodafone360.people.engine.contactsync; import android.content.ContentResolver; import android.content.Context; import com.vodafone360.people.database.DatabaseHelper; import com.vodafone360.people.utils.LogUtils; /** * The <code>DefaultProcessorFactory</code> implements the * <code>ProcessorFactory</code> interface and is the default factory used by * the <code>ContactSyncEngine</code>. * * @see <code>ProcessorFactory</code> * @see <code>ContactSyncEngine</code> */ public class DefaultProcessorFactory implements ProcessorFactory { /** * Creates a suitable processor for a required contact sync activity. * * @see ProcessorFactory#create(int, IContactSyncCallback, DatabaseHelper, * Context, ContentResolver) */ @Override public BaseSyncProcessor create(int type, IContactSyncCallback callback, DatabaseHelper dbHelper) { LogUtils.logD("DefaultProcessorFactory().create(" + type + ", " + callback + ", " + dbHelper + ")"); switch (type) { case DOWNLOAD_SERVER_CONTACTS: return new DownloadServerContacts(callback, dbHelper); case FETCH_NATIVE_CONTACTS: return new FetchNativeContacts(callback, dbHelper); case UPDATE_NATIVE_CONTACTS: return new UpdateNativeContacts(callback, dbHelper); case UPLOAD_SERVER_CONTACTS: return new UploadServerContacts(callback, dbHelper); default: final String errorMsg = "DefaultProcessorFactory().create(), error: unexpected type of processor! type=" + type; LogUtils.logE(errorMsg); throw new IllegalArgumentException(errorMsg); } } }