/** * Constructor. * * <p>Obtiene una nueva instancia de <code>RenameGenericClassType</code>. * * @param classDef la clase cuyos tipos genéricos se deben renombrar. * @param newName el nuevo que debe darse a los tipos renombrados. */ public RenameGenericClassType(ClassDef classDef, Name newName) { super(); this.classDef = classDef; this.newName = newName; actions = new ArrayList<Action>(); listenerReg = RelayListenerRegistry.getInstance(); }
/** Ejecuta los renombrado. */ public void run() { listenerReg.notify("# run():RenameGenericClassType #"); // $NON-NLS-1$ Collection<Type> types = MOONRefactoring.getModel().getTypes(); for (Type type : types) if (type instanceof ClassType && type.getClassDef() != null && type.getClassDef().isGeneric() && ((ClassType) type).getClassDef() == classDef) { actions.add(new RenameType(((ClassType) type), newName)); } for (Action next : actions) next.run(); }
/** Deshace los renombrados. */ @Override public void undo() { listenerReg.notify("# undo():RenameGenericClassType #"); // $NON-NLS-1$ for (Action next : actions) next.undo(); }