/*******************************************************************************
 * Copyright (c) 2008 The University of York.
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 * 
 * Contributors:
 *     Dimitrios Kolovos - initial API and implementation
 ******************************************************************************/
package org.eclipse.epsilon.eol.tools;

public class Timer {
	
	protected long miliseconds;
	
	public void start() {
		this.miliseconds = System.currentTimeMillis();
	}
	
	public long stop() {
		return System.currentTimeMillis() - this.miliseconds;
	}
	
}
