resourcechangelistener.java

来自「plugin for eclipse」· Java 代码 · 共 86 行

JAVA
86
字号
package isis.tinydt;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.IResourceDeltaVisitor;


public class ResourceChangeListener implements IResourceChangeListener
{   
    static class Visitor implements IResourceDeltaVisitor
    {
        Map changedProjects = new HashMap();        
        
         public boolean visit(IResourceDelta delta)
         {
            //System.out.println( delta.getResource().getFullPath() );
         
         	try
            {
                IProject p = delta.getResource().getProject();
                if( p!=null )
                    changedProjects.put( p.getDescription().getName(), p);
            }
            catch( Exception e )
            {
            	e.printStackTrace();
            }
                      
             /*switch (delta.getKind()) 
             {
             case IResourceDelta.ADDED:
                 // handle added resource
                 break;
             case IResourceDelta.REMOVED:
                 // handle removed resource
                 break;
             case IResourceDelta.CHANGED:
                 // handle changed resource
                 break;
             }*/
             return true;
         }
     }

    
	public void resourceChanged(IResourceChangeEvent e) 
    {
        /*try
        {
            Visitor v = new Visitor(); 
        	e.getDelta().accept( v );
            
            // update changed projects
            Iterator it = v.changedProjects.values().iterator();
            while( it.hasNext() )
            {
                IProject p = (IProject)it.next();
                
                TinydtProject tp = TinydtPlugin.getDefault().getTinydtProjects().getTinydtProject(p);
                tp.needsRebuild();
            }            
            
        }
        catch( Exception ex )
        {
        	ex.printStackTrace();
        }*/
        
        /*switch(e.getType())
        {
        case IResourceChangeEvent.POST_CHANGE:            
            break;            
        case IResourceChangeEvent.PRE_DELETE:
            break;            
        case IResourceChangeEvent.PRE_CLOSE:
            break;        
        }*/
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?