/**
* Copyright (C) 2014 KAIST
* @author Janggwan Im <limg00n@kaist.ac.kr>
*
*/
package org.fosstrak.ale.server.readers.llrp;
import java.util.ArrayList;
import java.util.List;
import org.llrp.ltk.types.LLRPMessage;
import kr.ac.kaist.resl.ltk.net.LLRPEndpoint;
public class MultipleLLRPEndpoint implements LLRPEndpoint {
private List<LLRPEndpoint> listEndpoint = new ArrayList<LLRPEndpoint>();
/**
* add LLRP endpoint to LLRPEndpoint list.
* If there already exists LLRPEndpoint to add, do nothing
* @param e
* @return
*/
public boolean addLLRPEndpoint(LLRPEndpoint e) {
for(LLRPEndpoint entry : listEndpoint) {
if(entry.equals(e)) {
return false;
}
}
return listEndpoint.add(e);
}
public boolean removeLLRPEndpoint(LLRPEndpoint e) {
for(LLRPEndpoint entry : listEndpoint) {
if(entry.equals(e)) {
listEndpoint.remove(entry);
return true;
}
}
return false;
}
@Override
public void messageReceived(LLRPMessage message) {
for(LLRPEndpoint endpoint : listEndpoint) {
endpoint.messageReceived(message);
}
}
@Override
public void errorOccured(String message) {
for(LLRPEndpoint endpoint : listEndpoint) {
endpoint.errorOccured(message);
}
}
}