package net.codjo.dataprocess.server.handler;
import net.codjo.dataprocess.common.table.annotations.HandlerCommand;
import net.codjo.dataprocess.server.handler.handlerfactory.HandlerCommandFactory;
import net.codjo.dataprocess.server.handler.handlerfactory.HandlerFactory;
import java.lang.reflect.Method;
import java.util.Map;
import org.picocontainer.MutablePicoContainer;
/**
*
*/
public class HandlerCommandClassProcessor implements ClassProcessor {
private MutablePicoContainer container;
private Class clazz;
private Map<String, HandlerFactory> map;
public HandlerCommandClassProcessor(MutablePicoContainer container,
Class clazz,
Map<String, HandlerFactory> map) {
this.container = container;
this.clazz = clazz;
this.map = map;
}
public void process() {
for (Method method : clazz.getDeclaredMethods()) {
if (method.isAnnotationPresent(HandlerCommand.class)) {
HandlerFactory handlerFactory = new HandlerCommandFactory(container, clazz, method, null);
map.put(handlerFactory.getHandlerId(), handlerFactory);
}
}
}
}