package Ex6.network; import Ex6.network.packets.EndGamePacket; import Ex6.network.packets.InvalidMovePacket; import Ex6.network.packets.LeavePacket; import Ex6.network.packets.NewGamePacket; import Ex6.network.packets.PlayMovePacket; import Ex6.network.packets.PlayerMovePacket; public interface PacketVisitor { void visit(EndGamePacket packet); void visit(InvalidMovePacket packet); void visit(LeavePacket packet); void visit(NewGamePacket packet); void visit(PlayerMovePacket packet); void visit(PlayMovePacket packet); /** * Double-dispatch */ default void visit(Packet packet) { packet.accept(this); } }