diff options
Diffstat (limited to 'common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/synchronizers/Synchronizer.java')
-rw-r--r-- | common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/synchronizers/Synchronizer.java | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/synchronizers/Synchronizer.java b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/synchronizers/Synchronizer.java deleted file mode 100644 index 230fb86eb3..0000000000 --- a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/synchronizers/Synchronizer.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 Oracle. 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: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.common.utility.synchronizers; - -import java.io.Serializable; - -/** - * This interface defines the protocol for starting, stopping, and executing a - * long-running, repeatable, and possibly recursive "synchronization" process. - * The intent is for the synchronizer to synchronize a "secondary" model with - * a "primary" model. Any change to the "primary" model will trigger the - * synchronization. The synchronizer implementation will determine whether the - * "secondary" model remains in sync synchronously or asynchronously. - * <p> - * The assumption is that the {@link #start()} and {@link #stop()} methods will be called from - * a single master thread that would control the synchronizer's lifecycle and - * the {@link #synchronize()} method will be called multiple times, possibly from - * multiple threads. - */ -public interface Synchronizer { - - /** - * Enable the synchronizer to allow future synchronizations as requested - * by calls to {@link #synchronize()}. - */ - void start(); - - /** - * Synchronize the dependent model with the primary model. Do nothing if - * {@link #start()} has not previously been called. Do nothing if {@link #stop} - * has been called (without any intermediate call to {@link #start()}. - */ - void synchronize(); - - /** - * Stop the synchronizer immediately or, if a synchronization is currently - * in progress, when it completes. Return when the synchronizer is stopped. - * No further synchonizations will performed until {@link #start()} is called. - */ - void stop(); - - - /** - * Singleton implementation of the {@link Synchronizer} interface that will do - * nothing. - */ - final class Null implements Synchronizer, Serializable { - public static final Synchronizer INSTANCE = new Null(); - public static Synchronizer instance() { - return INSTANCE; - } - // ensure single instance - private Null() { - super(); - } - public void start() { - // do nothing - } - public void synchronize() { - // do nothing - } - public void stop() { - // do nothing - } - @Override - public String toString() { - return "Synchronizer.Null"; //$NON-NLS-1$ - } - private static final long serialVersionUID = 1L; - private Object readResolve() { - // replace this object with the singleton - return INSTANCE; - } - } - -} |