package org.simpleframework.http.socket.table; import java.util.LinkedHashMap; import java.util.Map; public class WebSocketTableSweeper { private final WebSocketTable table; public WebSocketTableSweeper(WebSocketTable table) { this.table = table; } public Map<WebSocketTableUpdateType, String> sweep(long time, long count) { Map<WebSocketTableUpdateType, String> messages = new LinkedHashMap<WebSocketTableUpdateType, String>(); if(count <= 1) { WebSocketTableSchema schema = table.getSchema(); String schemaUpdate = schema.createStyle(); messages.put(WebSocketTableUpdateType.SCHEMA, schemaUpdate); } String highlightUpdate = table.calculateHighlight(time); String deltaUpdate = table.calculateChange(time);// really should only take small batches... highlightUpdate = count + "@" + System.currentTimeMillis() + ":" + highlightUpdate; deltaUpdate = count + "@" + System.currentTimeMillis() + ":" + deltaUpdate; messages.put(WebSocketTableUpdateType.HIGHLIGHT, highlightUpdate); messages.put(WebSocketTableUpdateType.DELTA, deltaUpdate); return messages; } }