/*******************************************************************************
 * Copyright (c) 2011, 2012 Ericsson AB 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
 *   
 ******************************************************************************/


//This is a test file used by the R4E UI Test framework

package org.eclipse.mylyn.reviews.r4e.ui;

public class extModNoCommitFile {
	
	private byte someByte;
	
	public extModNoCommitFile {
	}
	
	public int getSomeByte() {
		return someByte
	}
	
	public setSomeByte(int someByte) {
		this.someByte = someByte;
	}
}