/* *******************************************************************
* Copyright (c) 2003 Contributors.
* 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:
* Mik Kersten initial implementation
* ******************************************************************/
package org.aspectj.asm;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
/**
* Maps from a program element handles to a list of relationships between that element and other program elements. Each element in
* the list or relationships is uniquely identified by a kind and a relationship name. For example, the advice affecting a
* particular shadow (e.g. method call) can be retrieved by calling get
on the handle for that method. Symmetrically
* the method call shadows that an advice affects can be retrieved.
*
*
* The elements can be stored and looked up as IProgramElement(s), in which cases the element corresponding to the handle is looked * up in the containment hierarchy. *
* ** put/get methods taking IProgramElement as a parameter are for convenience only. They work identically to calling their * counterparts with IProgramElement.getIdentifierHandle() *
* * @author Mik Kersten * @author Andy Clement */ public interface IRelationshipMap extends Serializable { /** * @return list of relationships or null if the source element has no relationships */ List