package eis.examples.communication;
import java.util.LinkedList;
import eis.EIDefaultImpl;
import eis.EnvironmentInterfaceStandard;
import eis.exceptions.EntityException;
import eis.exceptions.EnvironmentInterfaceException;
import eis.exceptions.ManagementException;
import eis.iilang.Percept;
import eis.iilang.EnvironmentCommand;
import eis.iilang.Identifier;
import eis.iilang.Parameter;
import eis.iilang.Percept;
public class EnvironmentInterface extends EIDefaultImpl {
public EnvironmentInterface() {
try {
this.addEntity("en1");
this.addEntity("en2");
this.addEntity("en3");
} catch (EntityException e) {
e.printStackTrace();
}
}
public Percept actiontellall(String entity, Identifier message) {
for( String e : this.getEntities() ) {
if( e.equals(entity) )
continue;
try {
this.notifyAgentsViaEntity(
new Percept("message", (Parameter)message),
e);
} catch (EnvironmentInterfaceException e1) {
e1.printStackTrace();
}
}
return new Percept("success");
}
@Override
public LinkedList<Percept> getAllPerceptsFromEntity(String entity) {
return null;
}
@Override
public void manageEnvironment(EnvironmentCommand command)
throws ManagementException {
throw new ManagementException("No environment-commands supported.");
}
@Override
public void release() {
// TODO Auto-generated method stub
}
@Override
public boolean isConnected() {
return true;
}
@Override
public String requiredVersion() {
return "0.2";
}
}