/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.wordpress.salaboy.messaging; import java.lang.reflect.ParameterizedType; /** * * @author esteban */ public abstract class MessageConsumerWorkerHandler<T>{ private Class<T> type; public MessageConsumerWorkerHandler() { this.type = (Class<T>) ((ParameterizedType) getClass() .getGenericSuperclass()).getActualTypeArguments()[0]; } public void handlePrimitiveMessage(Object content){ // System.out.println("Adding Entry To report: " +((EmergencyInterchangeMessage)content).getCallId() + "- Entry:" + ((EmergencyInterchangeMessage)content).toString()); // DistributedPeristenceServerService.getInstance().addEntryToReport(((EmergencyInterchangeMessage)content).getCallId(), ((EmergencyInterchangeMessage)content).toString()); if (type.isAssignableFrom(content.getClass())){ this.handleMessage((T)content); } } public abstract void handleMessage(T content); }