/*******************************************************************************
 * Copyright (c) 2007 Oracle Corporation.
 * 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.jst.jsf.common.metadata.internal;

/**
 * Experimental and not used at the moment.
 *
 */
public interface IMetaDataChangeNotificationEvent {
	//change to enums if we do Java5
	/**
	 *  TODO:
	 */
	public static final int ADDED = 1;
	/**
	 * TODO:
	 */
	public static final int REMOVED = 2;
	/**
	 * TODO:
	 */
	public static final int CHANGED = 3;
	
	/**
	 * @return the uri
	 */
	public String getURI();
	/**
	 * @return when to the event types above
	 */
	public int getEventType();
	/**
	 * @return the meta-data locator
	 */
	public IMetaDataLocator getLocator();
}
