1 /*2 * The contents of this file are subject to the terms of the Common Development3 * and Distribution License (the License). You may not use this file except in4 * compliance with the License.5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html7 * or http://www.netbeans.org/cddl.txt.8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file10 * and include the License file at http://www.netbeans.org/cddl.txt.11 * If applicable, add the following below the CDDL Header, with the fields12 * enclosed by brackets [] replaced by your own identifying information:13 * "Portions Copyrighted [year] [name of copyright owner]"14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun17 * Microsystems, Inc. All Rights Reserved.18 */19 package org.netbeans.modules.xml.schema.refactoring;20 21 import java.io.IOException ;22 import org.netbeans.modules.xml.refactoring.DeleteRequest;23 import org.netbeans.modules.xml.refactoring.FileRenameRequest;24 import org.netbeans.modules.xml.refactoring.RefactorRequest;25 import org.netbeans.modules.xml.refactoring.RenameRequest;26 import org.netbeans.modules.xml.refactoring.spi.ChangeExecutor;27 import org.netbeans.modules.xml.refactoring.spi.SharedUtils;28 import org.netbeans.modules.xml.refactoring.spi.UIHelper;29 import org.netbeans.modules.xml.schema.model.SchemaComponent;30 import org.netbeans.modules.xml.schema.model.SchemaModel;31 import org.netbeans.modules.xml.xam.Referenceable;32 33 /**34 *35 * @author Nam Nguyen36 */37 public class SchemaChangeExecutor extends ChangeExecutor {38 39 /** Creates a new instance of SchemaChangePerformer */40 public SchemaChangeExecutor() {41 }42 43 public <T extends RefactorRequest> boolean canChange(Class <T> changeType, Referenceable target) {44 return (target instanceof SchemaComponent || target instanceof SchemaModel) &&45 (changeType == RenameRequest.class || 46 changeType == DeleteRequest.class);47 }48 49 public void doChange(RefactorRequest request) throws IOException {50 if (request instanceof RenameRequest) {51 SharedUtils.renameTarget((RenameRequest) request);52 } else if (request instanceof DeleteRequest) {53 SharedUtils.deleteTarget((DeleteRequest) request);54 } else {55 //just do nothing56 }57 }58 59 public UIHelper getUIHelper() {60 return new SchemaUIHelper();61 }62 63 }64 65