001 /** 002 * Implements the Cold Fusion Function gettickcount 003 */ 004 package railo.runtime.functions.other; 005 006 import railo.runtime.PageContext; 007 import railo.runtime.exp.FunctionException; 008 import railo.runtime.ext.function.Function; 009 010 public final class GetTickCount implements Function { 011 public static double call(PageContext pc) { 012 return System.currentTimeMillis(); 013 } 014 public static double call(PageContext pc,String unit) throws FunctionException { 015 unit=unit.trim(); 016 if("nano".equalsIgnoreCase(unit)) 017 return System.nanoTime(); 018 else if("milli".equalsIgnoreCase(unit)) 019 return System.currentTimeMillis(); 020 else if("second".equalsIgnoreCase(unit)) 021 return System.currentTimeMillis()/1000; 022 else 023 throw new FunctionException(pc, "GetTickCount", 1, "type", "invalid value ["+unit+"], valid values are (nano,milli,second)"); 024 } 025 }