@Override public void createObject(Object data, INetDataCollection collection) { byte[] bytes = (byte[]) data; String receiveData = new String(bytes); String hexData = StringUtil.toHexString(bytes, 0, bytes.length); debugMonitor( "RECEIVE from #" + handler.getHandlerId() + ": " + hexData + "[ASCII:" + receiveData + "]"); synchronized (lastData) { receiveData = lastData + receiveData; int endIndex = receiveData.indexOf(SEPARATE_CHARS); int startIndex = 0; while (endIndex > 0) { String receive = receiveData.substring(startIndex, endIndex); try { Trigger trigger = new Trigger(); trigger.setContent(receive); collection.put(trigger); } catch (Exception e) { } startIndex = endIndex + SEPARATE_CHARS.length(); endIndex = receiveData.indexOf(SEPARATE_CHARS, startIndex); } lastData = receiveData.substring(startIndex); } }
public void debugMonitor(Object message) { if (handler != null) handler.debugMonitor(message); }