reloadhelperactionfactoryproxy.java

来自「webwork source」· Java 代码 · 共 62 行

JAVA
62
字号
package webwork.action.factory;import java.util.StringTokenizer;import java.util.List;import java.util.ArrayList;import java.net.URL;import java.io.File;import webwork.action.Action;import webwork.config.Configuration;import webwork.util.ClassLoaderUtils;/** * User: hani * Date: Nov 7, 2003 * Time: 11:38:42 AM */public class ReloadHelperActionFactoryProxy extends ActionFactoryProxy{  private File[] files;  private long[] lastModified;  public ReloadHelperActionFactoryProxy(ActionFactory aFactory)  {    super(aFactory);    StringTokenizer configFiles = new StringTokenizer((String)Configuration.get("webwork.configuration.xml"), ",");    List l = new ArrayList(configFiles.countTokens());    while(configFiles.hasMoreTokens())    {       String name = configFiles.nextToken();      URL fileUrl = ClassLoaderUtils.getResource(name+".xml", ReloadHelperActionFactoryProxy.class);      if(fileUrl!=null)      {        File file = new File(fileUrl.getFile());        if(file.exists())          l.add(file);      }    }    files = new File[l.size()];    //lets check when they were all modified    l.toArray(files);    lastModified = new long[files.length];    for(int i = 0; i < files.length; i++)    {      lastModified[i] = files[i].lastModified();    }  }  public Action getActionImpl(String aName) throws Exception  {    for(int i = 0; i < files.length; i++)    {      if(files[i].lastModified() > lastModified[i])      {        lastModified[i] = files[i].lastModified();        flushCaches();      }    }    return getNextFactory().getActionImpl(aName);  }}

⌨️ 快捷键说明

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