/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.openide.loaders; import java.util.EventObject; import org.openide.util.Lookup; import org.openide.filesystems.*; /** Adapter for listening on changes of fileobjects and refreshing data * shadows/broken links * * @author Ales Kemr */ class ShadowChangeAdapter extends Object implements RepositoryListener, OperationListener{ /** Creates new ShadowChangeAdapter */ ShadowChangeAdapter() { /* listen on repository to refresh datashadows after * add/remove filesystem */ Repository.getDefault().addRepositoryListener(this); /* listen on loader pool to refresh datashadows after * create/delete dataobject */ ((DataLoaderPool)Lookup.getDefault().lookup(DataLoaderPool.class)).addOperationListener(this); } /** Checks for BrokenDataShadows */ static void checkBrokenDataShadows(EventObject ev) { BrokenDataShadow.checkValidity(ev); } /** Checks for DataShadows */ static void checkDataShadows(EventObject ev) { DataShadow.checkValidity(ev); } /** Called when new file system is added to the pool. * @param ev event describing the action */ public void fileSystemAdded(RepositoryEvent ev) { checkBrokenDataShadows(ev); } /** Called when a file system is removed from the pool. * @param ev event describing the action */ public void fileSystemRemoved(RepositoryEvent ev) { checkDataShadows(ev); } /** Called when a file system pool is reordered. */ public void fileSystemPoolReordered(RepositoryReorderedEvent ev) { } /** Object has been recognized by * {@link DataLoaderPool#findDataObject}. * This allows listeners * to attach additional cookies, etc. * * @param ev event describing the action */ public void operationPostCreate(OperationEvent ev) { checkBrokenDataShadows(ev); } /** Object has been successfully copied. * @param ev event describing the action */ public void operationCopy(OperationEvent.Copy ev) { } /** Object has been successfully moved. * @param ev event describing the action */ public void operationMove(OperationEvent.Move ev) { checkDataShadows(ev); checkBrokenDataShadows(ev); } /** Object has been successfully deleted. * @param ev event describing the action */ public void operationDelete(OperationEvent ev) { checkDataShadows(ev); } /** Object has been successfully renamed. * @param ev event describing the action */ public void operationRename(OperationEvent.Rename ev) { checkDataShadows(ev); checkBrokenDataShadows(ev); } /** A shadow of a data object has been created. * @param ev event describing the action */ public void operationCreateShadow(OperationEvent.Copy ev) { } /** New instance of an object has been created. * @param ev event describing the action */ public void operationCreateFromTemplate(OperationEvent.Copy ev) { checkBrokenDataShadows(ev); } }