List of usage examples for org.aspectj.asm IRelationshipMap getEntries
public Set<String> getEntries();
From source file:org.caesarj.compiler.asm.StructureModelDump.java
License:Open Source License
protected void printRelationshipMap(CaesarJAsmManager asmManager) { System.out.println("Dumping Relationship Map"); IHierarchy hierarchy = asmManager.getHierarchy(); IRelationshipMap map = asmManager.getRelationshipMap(); Set entries = map.getEntries(); Iterator i = entries.iterator(); while (i.hasNext()) { List relationships = map.get((String) i.next()); Iterator j = relationships.iterator(); while (j.hasNext()) { IRelationship relationship = (IRelationship) j.next(); System.out.println("Relationship '" + relationship.getName() + "' of kind '" + relationship.getKind() + "' has " + relationship.getTargets().size() + " target(s) "); System.out.println(" source handle -->" + relationship.getSourceHandle()); Iterator k = relationship.getTargets().iterator(); while (k.hasNext()) { IProgramElement element = hierarchy.findElementForHandle((String) k.next()); System.out.println(" -> '" + element.getName() + "' of kind '" + element.getKind() + "' with handle " + element.getHandleIdentifier()); }/* w w w. j a v a 2s. com*/ } } }
From source file:org.eclipse.ajdt.core.model.AJModelChecker.java
License:Open Source License
/** * iterates through all relationships and checks to see that it passes all rules * /*from w w w . ja v a 2 s . co m*/ * returns list of questionable relationships as strings. An empty list is returned if the * model is OK. */ private static List<String> internalCheckModel(AJProjectModelFacade model) { IRelationshipMap relationships = model.getAllRelationships(); List<String> problems = new ArrayList<String>(); if (relationships != null) { for (Iterator<String> relIter = relationships.getEntries().iterator(); relIter.hasNext();) { String handle = (String) relIter.next(); List<IRelationship> relsForHandle = relationships.get(handle); for (Iterator<IRelationship> relIter2 = relsForHandle.iterator(); relIter2.hasNext();) { IRelationship rel = (IRelationship) relIter2.next(); List<String> res = invalidAdviceRelationsip(rel, model); problems.addAll(res); res = itdsNotOnType(rel, model); problems.addAll(res); } } } else { problems.add("No relationshipes found"); } return problems; }