/**
 * 
 */
package org.eclipse.epf.diagramming.base.util;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.gmf.runtime.notation.Diagram;

/**
 * @author Shashidhar Kannoori
 *
 */
public interface IDiagramChangeListener extends Adapter {
	public Diagram getDiagram();
}
