view src/global/WebCache.java @ 25:ea1d2e6e2a49

semiprivate
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 18 Jun 2020 19:26:15 -0600
parents 7ecd1a4ef557
children
line wrap: on
line source

package global;

import fschmidt.util.servlet.HttpCache;
import nabble.model.Init;


enum WebCache implements HttpCache {
	INSTANCE;

	private static final long hour = 1000L*60*60;
	private static final long cacheTime = Init.get("cacheTime",hour);

	private long mod = now();

	private static long now() {
		return System.currentTimeMillis()/1000*1000;
	}

	public synchronized long[] lastModifieds(String[] modifyingEvents) {
		long now = now();
		if( now - mod > cacheTime )
			mod = now;
		long[] rtn = new long[modifyingEvents.length];
		for( int i=0; i<modifyingEvents.length; i++ ) {
			rtn[i] = mod;
		}
		return rtn;
	}

	public void modified(String modifyingEvent) {
		throw new UnsupportedOperationException();
	}

	public synchronized void clear() {
		mod = now();
	}

}