001 package railo.runtime.component; 002 003 import java.util.HashMap; 004 import java.util.Map; 005 006 import railo.runtime.InterfaceImpl; 007 import railo.runtime.PageContextImpl; 008 import railo.runtime.exp.PageException; 009 import railo.runtime.type.util.ComponentUtil; 010 011 public class InterfaceCollection { 012 013 private InterfaceImpl[] interfaces; 014 private Map udfs= new HashMap(); 015 private long lastUpdate=0; 016 017 018 public InterfaceCollection(PageContextImpl pc, String implement) throws PageException { 019 interfaces = InterfaceImpl.loadImplements(pc, implement,udfs); 020 } 021 022 /** 023 * @return the interfaces 024 */ 025 public InterfaceImpl[] getInterfaces() { 026 return interfaces; 027 } 028 029 /** 030 * @return the udfs 031 */ 032 public Map getUdfs() { 033 return udfs; 034 } 035 036 public long lastUpdate() { 037 if(lastUpdate==0){ 038 long temp; 039 for(int i=0;i<interfaces.length;i++){ 040 temp=ComponentUtil.getCompileTime(null,interfaces[i].getPageSource(),0); 041 if(temp>lastUpdate) 042 lastUpdate=temp; 043 } 044 } 045 return lastUpdate; 046 } 047 048 }