blob: feeb2164bd0bd2c90714bb8d2bd4ffa7ae4a91b7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2008 Tasktop Technologies and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.tasks.core.sync;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.TaskData;
import org.eclipse.mylyn.tasks.core.sync.ISynchronizationSession;
/**
* @author Steffen Pingel
* @since 3.0
*/
public class SynchronizationSession implements ISynchronizationSession {
private Set<ITask> changedTasks;
private Object data;
private boolean fullSynchronization;
private boolean performQueries;
private Set<ITask> staleTasks;
private IStatus status;
private TaskDataManager taskDataManager;
private TaskRepository taskRepository;
private Set<ITask> tasks;
private boolean user;
public SynchronizationSession() {
}
public SynchronizationSession(TaskDataManager taskDataManager) {
this.taskDataManager = taskDataManager;
}
public Set<ITask> getChangedTasks() {
return changedTasks;
}
public Object getData() {
return data;
}
public Set<ITask> getStaleTasks() {
return staleTasks;
}
public IStatus getStatus() {
return status;
}
public TaskDataManager getTaskDataManager() {
return taskDataManager;
}
public TaskRepository getTaskRepository() {
return taskRepository;
}
public Set<ITask> getTasks() {
return tasks;
}
public boolean isFullSynchronization() {
return fullSynchronization;
}
public boolean isUser() {
return user;
}
public void markStale(ITask task) {
if (staleTasks == null) {
staleTasks = new HashSet<ITask>();
}
staleTasks.add(task);
}
public boolean needsPerformQueries() {
return performQueries;
}
public void putTaskData(ITask task, TaskData taskData) throws CoreException {
if (taskDataManager != null) {
taskDataManager.putUpdatedTaskData(task, taskData, false);
}
}
public void setChangedTasks(Set<ITask> changedTasks) {
this.changedTasks = changedTasks;
}
public void setData(Object data) {
this.data = data;
}
public void setFullSynchronization(boolean fullSynchronization) {
this.fullSynchronization = fullSynchronization;
}
public void setNeedsPerformQueries(boolean performQueries) {
this.performQueries = performQueries;
}
public void setStatus(IStatus status) {
this.status = status;
}
public void setTaskRepository(TaskRepository taskRepository) {
this.taskRepository = taskRepository;
}
public void setTasks(Set<ITask> tasks) {
this.tasks = tasks;
}
public void setUser(boolean user) {
this.user = user;
}
}