blob: 28fcac944f5f4cbfaca524ebcfbd9fe2abb0b37b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2014 Tasktop Technologies and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.tasks.core;
import java.util.Set;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.AbstractTaskAttachmentSource;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskData;
import org.eclipse.mylyn.tasks.core.sync.SubmitJob;
import org.eclipse.mylyn.tasks.core.sync.SynchronizationJob;
import org.eclipse.mylyn.tasks.core.sync.TaskJob;
/**
* @author Steffen Pingel
* @author Mik Kersten
*/
public interface ITaskJobFactory {
public abstract SynchronizationJob createSynchronizeTasksJob(AbstractRepositoryConnector connector,
TaskRepository taskRepository, Set<ITask> tasks);
public abstract SynchronizationJob createSynchronizeQueriesJob(AbstractRepositoryConnector connector,
TaskRepository repository, Set<RepositoryQuery> queries);
public abstract SynchronizationJob createSynchronizeRepositoriesJob(Set<TaskRepository> repositories);
public abstract SubmitJob createSubmitTaskJob(AbstractRepositoryConnector connector, TaskRepository taskRepository,
ITask task, TaskData taskData, Set<TaskAttribute> changedAttributes);
public abstract TaskJob createUpdateRepositoryConfigurationJob(AbstractRepositoryConnector connector,
TaskRepository taskRepository, ITask task);
@Deprecated
public abstract TaskJob createUpdateRepositoryConfigurationJob(AbstractRepositoryConnector connector,
TaskRepository taskRepository);
public abstract SubmitJob createSubmitTaskAttachmentJob(AbstractRepositoryConnector connector,
TaskRepository taskRepository, ITask task, AbstractTaskAttachmentSource source, String comment,
TaskAttribute attachmentAttribute);
/**
* Specify whether subtasks should be fetched as part of task synchronization. Defaults to true.
*/
public void setFetchSubtasks(boolean fetchSubtasks);
/**
* @return whether subtasks should be fetched as part of task synchronization
*/
public boolean getFetchSubtasks();
}