package io.yancey.menufetcher;

import java.time.*;
import java.util.*;

public interface MenuFetcher {
	public List<Meal> getMeals(LocalDate day);
	
	public static List<MenuFetcher> getAllMenuFetchers() {
		return Arrays.asList(
				new PomonaMenuFetcher(PomonaMenuFetcher.FRANK_NAME),
				new PomonaMenuFetcher(PomonaMenuFetcher.FRARY_NAME),
				new PomonaMenuFetcher(PomonaMenuFetcher.OLDENBORG_NAME),
				new BonAppetitMenuFetcher(BonAppetitMenuFetcher.COLLINS_ID),
				new BonAppetitMenuFetcher(BonAppetitMenuFetcher.PITZER_ID),
				new SodexoMenuFetcher(SodexoMenuFetcher.HOCH_SITENAME),
				new SodexoMenuFetcher(SodexoMenuFetcher.SCRIPPS_SITENAME));
	}
}

@@ -158,21 +158,27 @@
  static 
-List%3C
+Map%3CString,
 MenuFetc
@@ -211,44 +211,112 @@
 %7B%0A%09%09
-return Arrays.asList(%0A%09%09%09%09new Pomona
+Map%3CString, MenuFetcher%3E menuFetchers = new LinkedHashMap%3C%3E();%0A%09%09menuFetchers.put(%22The Hoch%22, new Sodexo
 Menu
@@ -315,38 +315,38 @@
 dexoMenuFetcher(
-Pomona
+Sodexo
 MenuFetcher.FRAN
@@ -345,35 +345,70 @@
 her.
-FRANK_
+HOCH_SITE
 NAME)
-,%0A%09%09%09%09new Pomona
+);%0A%09%09menuFetchers.put(%22Pitzer%22,   new BonAppetit
 Menu
@@ -407,38 +407,42 @@
 etitMenuFetcher(
-Pomona
+BonAppetit
 MenuFetcher.FRAR
@@ -441,25 +441,52 @@
 her.
-FRARY_NAME),%0A%09%09%09%09
+PITZER_ID));%0A%09%09menuFetchers.put(%22Frank%22,    
 new 
@@ -525,43 +525,63 @@
 her.
-OLDENBORG
+FRANK
 _NAME)
-,%0A%09%09%09%09new BonAppetit
+);%0A%09%09menuFetchers.put(%22Frary%22,    new Pomona
 Menu
@@ -584,34 +584,30 @@
 MenuFetcher(
-BonAppetit
+Pomona
 MenuFetcher.
@@ -610,39 +610,63 @@
 her.
-COLLINS_ID),%0A%09%09%09%09new BonAppetit
+FRARY_NAME));%0A%09%09menuFetchers.put(%22Oldenborg%22,new Pomona
 Menu
@@ -669,34 +669,30 @@
 MenuFetcher(
-BonAppetit
+Pomona
 MenuFetcher.
@@ -695,24 +695,57 @@
 her.
-PITZER_ID),%0A%09%09%09%09
+OLDENBORG_NAME));%0A%09%09menuFetchers.put(%22Scripps%22,  
 new 
@@ -772,36 +772,39 @@
 dexoMenuFetcher.
-HOCH
+SCRIPPS
 _SITENAME),%0A%09%09%09%09
@@ -801,24 +801,56 @@
 AME)
-,%0A%09%09%09%09new Sodexo
+);%0A%09%09menuFetchers.put(%22Collins%22,  new BonAppetit
 Menu
@@ -849,38 +849,42 @@
 etitMenuFetcher(
-Sodexo
+BonAppetit
 MenuFetcher.SCRI
@@ -879,33 +879,79 @@
 Fetcher.
-SCRIPPS_SITENAME)
+COLLINS_ID));%0A%09%09return Collections.unmodifiableMap(menuFetchers
 );%0A%09%7D%0A%7D%0A

Improve function to get all menu fetchers