Package railo.runtime.query

Source Code of railo.runtime.query.QueryCacheEntry

package railo.runtime.query;

import java.io.Serializable;
import java.util.Date;

import railo.runtime.PageContext;
import railo.runtime.dump.DumpData;
import railo.runtime.dump.DumpProperties;
import railo.runtime.dump.DumpTable;
import railo.runtime.dump.DumpUtil;
import railo.runtime.dump.Dumpable;
import railo.runtime.dump.SimpleDumpData;
import railo.runtime.op.Duplicator;
import railo.runtime.type.dt.DateTimeImpl;

/**
* a single entry of the query cache
*/
public final class QueryCacheEntry implements Serializable,Dumpable {
     
  private static final long serialVersionUID = -8991589914700895254L;
 
    private Object value;
    private long creationDate;

        /**
         * constructor of the class
         * @param cacheBefore
         * @param query
         */
        QueryCacheEntry(Date cacheBefore, Object value) {
            this.value = Duplicator.duplicate(value,false);
            this.creationDate=System.currentTimeMillis();
        }

        /**
         * @param cacheAfter
         * @return is in range or not
         */
        public boolean isCachedAfter(Date cacheAfter) {
          if(cacheAfter==null) return true;
          if(creationDate>=cacheAfter.getTime()){
              return true;
            }
            return false;
        }

        /**
         * @return returns query object in entry
         */
        public Object getValue() {
            this.creationDate=System.currentTimeMillis();
          return Duplicator.duplicate(value,false);
        }

    public DumpData toDumpData(PageContext pageContext, int maxlevel, DumpProperties properties) {
      DumpTable table = new DumpTable("#669999","#ccffff","#000000");
      table.setTitle("QueryCacheEntry");
      table.appendRow(1,new SimpleDumpData("Value"),DumpUtil.toDumpData(value, pageContext, maxlevel, properties));
      table.appendRow(1,new SimpleDumpData("Creation Date"),DumpUtil.toDumpData(new DateTimeImpl(creationDate,false), pageContext, maxlevel, properties));
      return table;
    }
    }
TOP

Related Classes of railo.runtime.query.QueryCacheEntry

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.