/*******************************************************************************
 * Copyright (c) 2009 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.core.internal.jpa2;

import org.eclipse.jpt.core.jpa2.PersistentTypeMetamodelSynchronizer;

/**
 * 
 */
public class NullPersistentTypeMetamodelSynchronizer
	implements PersistentTypeMetamodelSynchronizer
{


	public NullPersistentTypeMetamodelSynchronizer() {
		super();
	}

	public void synchronize() {
		//no-op
	}
}
