package org.lucci.madhoc.simulation.projection;
import javax.naming.ConfigurationException;
import org.lucci.madhoc.network.Station;
import org.lucci.madhoc.network.ComputerType;
public class NetworkNodeTypeBaseProjection extends Projection
{
private ComputerType acceptedComputerType;
public boolean acceptComputer(Station computer)
{
return computer.getType() == getAcceptedComputerType();
}
public String getName()
{
return getAcceptedComputerType().getName();
}
public void configure() throws Throwable
{
String s = getNetwork().getSimulation().getConfiguration().getConfigurationValue("computer_type_based_relevancy");
if (s.equalsIgnoreCase("laptop"))
{
setAcceptedComputerType(ComputerType.LAPTOP);
}
else if (s.equalsIgnoreCase("pager"))
{
setAcceptedComputerType(ComputerType.PAGER);
}
else if (s.equalsIgnoreCase("mobile_phone"))
{
setAcceptedComputerType(ComputerType.MOBILE_PHONE);
}
else if (s.equalsIgnoreCase("hotspot"))
{
setAcceptedComputerType(ComputerType.HOTSPOT);
}
else
{
throw new ConfigurationException("Unknown computer type: " + s);
}
}
public ComputerType getAcceptedComputerType()
{
return acceptedComputerType;
}
public void setAcceptedComputerType(ComputerType acceptedComputerType)
{
this.acceptedComputerType = acceptedComputerType;
}
}