package onetomany.bargainingchipsgame.players; import java.util.concurrent.BlockingQueue; import onetomany.bargainingchipsgame.interactions.Offer; public abstract class BilateralAgent implements Runnable { String name; // Messaging from and to the opponent protected BlockingQueue in; protected BlockingQueue out; protected abstract void receiveOffer(Offer bundle); protected abstract Offer sendOffer(); protected abstract Offer sendOpeningOffer(); public BilateralAgent(String name, BlockingQueue in, BlockingQueue out) { super(); this.name = name; this.in = in; this.out = out; } @Override public String toString() { return name; } }