/*******************************************************************************
 * Copyright (c) 2004-2008 Andras Schmidt, Andras Balogh, Istvan Rath and Daniel Varro
 * 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:
 *    Andras Schmidt, Andras Balogh, Istvan Rath - initial API and implementation
 *******************************************************************************/

package org.eclipse.viatra2.core.notification;

import org.eclipse.viatra2.core.IEntity;
import org.eclipse.viatra2.core.IModelElement;

/**
 * @author Andras Schmidt
 * 
 */
public interface ICoreNotificationObjectDeleteContainment extends
		ICoreNotificationObject {
	IEntity getParent();

	IModelElement getChild();
}
