1 /*******************************************************************************
2 * Copyright (c) 2014 École Polytechnique de Montréal
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Geneviève Bastien - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.core
.synchronization
;
15 import org
.eclipse
.linuxtools
.internal
.tmf
.core
.synchronization
.SyncAlgorithmFullyIncremental
;
18 * A factory to generate synchronization algorithm to synchronize traces
20 * @author Geneviève Bastien
23 public final class SynchronizationAlgorithmFactory
{
25 private SynchronizationAlgorithmFactory() {
30 * Returns the system's default trace synchronization algorithm, ie the
31 * fully incremental convex hull synchronization algorithm.
33 * @return The default trace synchronization algorithm
35 public static SynchronizationAlgorithm
getDefaultAlgorithm() {
36 return new SyncAlgorithmFullyIncremental();
40 * Returns the class implementing the fully incremental convex hull trace
41 * synchronization approach as described in
43 * Masoume Jabbarifar, Michel Dagenais and Alireza Shameli-Sendi,
44 * "Streaming Mode Incremental Clock Synchronization"
46 * @return The {@link SynchronizationAlgorithm} implementing the fully
47 * incremental convex hull synchronization algorithm
49 public static SynchronizationAlgorithm
getFullyIncrementalAlgorithm() {
50 return new SyncAlgorithmFullyIncremental();