/* This file is part of Green. * * Copyright (C) 2005 The Research Foundation of State University of New York * All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y. * * Green is free software, licensed under the terms of the Eclipse * Public License, version 1.0. The license is available at * http://www.eclipse.org/legal/epl-v10.html */ package edu.buffalo.cse.green.relationship.realization; import java.util.AbstractList; import java.util.List; import org.eclipse.jdt.core.dom.Block; import org.eclipse.jdt.core.dom.Type; import edu.buffalo.cse.green.relationships.RelationshipGenerator; import edu.buffalo.cse.green.relationships.DeclarationInfoProvider; /** * @see edu.buffalo.cse.green.relationship.RelationshipGenerator * * @author bcmartin */ public class RealizationGenerator extends RelationshipGenerator { /** * @see edu.buffalo.cse.green.relationships.RelationshipVisitor#process(org.eclipse.jdt.core.dom.TypeDeclaration) */ public boolean process(DeclarationInfoProvider node) { if (!correctTypeToGenerate()) return true; List<Type> superInterfaces = (AbstractList<Type>) node.getSuperInterfaceTypes(); // If it's already in there, don't add it again for (Type type : superInterfaces) { if (getType(type).equals(getTargetType())) { return false; } } superInterfaces.add(createTypeReference(getTargetType())); return false; } /** * @see edu.buffalo.cse.green.relationships.RelationshipGenerator#process(org.eclipse.jdt.core.dom.Block) */ protected boolean process(Block node) { return false; } /** * @see edu.buffalo.cse.green.relationships.RelationshipGenerator#doVisitBlocks() */ protected boolean doVisitBlocks() { return false; } /** * @see edu.buffalo.cse.green.relationships.RelationshipGenerator#needChooseTypeDialog() */ protected boolean needChooseTypeDialog() { return false; } /* (non-Javadoc) * @see edu.buffalo.cse.green.relationships.RelationshipGenerator#needConstructor() */ @Override protected boolean needConstructor() { return false; } }