// Path: src/cn/yo2/aquarium/pocketvoa/parser/IDataSource.java
// public interface IDataSource {
// 	
// 	/*=========================================================================
// 	 * First category 
// 	 ========================================================================*/
// 	public static final String STANDARD_ENGLISH = "Standard English";
// 	public static final String SPECIAL_ENGLISH  = "Special English";
// 	public static final String ENGLISH_LEARNING = "English Learning";
// 	
// 	/*=========================================================================
// 	 * Second category 
// 	 ========================================================================*/
// 	/*
// 	 * Standard English
// 	 */
// 	public static final String ENGLISH_NEWS = "English News";
// 	/*
// 	 * Special English
// 	 */
// 	public static final String TECHNOLOGY_REPORT = "Technology Report";
// 	public static final String THIS_IS_AMERICA = "This is America";
// 	public static final String AGRICULTURE_REPORT = "Agriculture Report";
// 	public static final String SCIENCE_IN_THE_NEWS = "Science in the News";
// 	public static final String HEALTH_REPORT = "Health Report";
// 	public static final String EXPLORATIONS = "Explorations";
// 	public static final String EDUCATION_REPORT = "Education Report";
// 	public static final String THE_MAKING_OF_A_NATION = "The Making of a Nation";
// 	public static final String ECONOMICS_REPORT = "Economics Report";
// 	public static final String AMERICAN_MOSAIC = "American Mosaic";
// 	public static final String IN_THE_NEWS = "In the News";
// 	public static final String AMERICAN_STORIES = "American Stories";
// 	public static final String WORDS_AND_THEIR_STORIES = "Words And Their Stories";
// 	public static final String PEOPLE_IN_AMERICA = "People in America";
// 	/*
// 	 * English Learning
// 	 */
// 	public static final String GO_ENGLISH = "Go English";
// 	public static final String WORD_MASTER = "Word Master";
// 	public static final String AMERICAN_CAFE = "American Cafe";
// 	public static final String POPULAR_AMERICAN = "Popular American";
// 	public static final String BUSINESS_ETIQUETTE = "Business Etiquette";
// 	public static final String SPORTS_ENGLISH = "Sports English";
// 	public static final String WORDS_AND_IDIOMS = "Words And Idioms";
// 
// 		
// 	public void init(int maxCount);
// 	
// 	public HashMap<String, String> getListUrls();
// 	public HashMap<String, IListParser> getListParsers();
// 	public HashMap<String, IPageParser> getPageParsers();
// 	public HashMap<String, IPageParser> getPageZhParsers();
// 	
// 	public String getName();
// }
// 
// Path: src/cn/yo2/aquarium/pocketvoa/parser/IListParser.java
// public interface IListParser {
// 	public ArrayList<Article> parse(String body) throws IllegalContentFormatException;
// 	public int parsePageCount(String body) throws IllegalContentFormatException;
// }
// 
// Path: src/cn/yo2/aquarium/pocketvoa/parser/IPageParser.java
// public interface IPageParser {
// 	public void parse(Article article, String body) throws IllegalContentFormatException;
// }


import java.util.HashMap;
import cn.yo2.aquarium.pocketvoa.parser.IDataSource;
import cn.yo2.aquarium.pocketvoa.parser.IListParser;
import cn.yo2.aquarium.pocketvoa.parser.IPageParser;
package cn.yo2.aquarium.pocketvoa.parser.voa51;



public class Voa51DataSource implements IDataSource {
	private static final String SEPERATOR = "_";

	static final String HOST = "http://www.51voa.com";

	// standard English
	static final String URL_ENGLISH_NEWS            = HOST + "/VOA_Standard_%d.html";

	// special English
	static final String URL_TECHNOLOGY_REPORT       = HOST + "/Technology_Report_%d.html";
	static final String URL_THIS_IS_AMERICA         = HOST + "/This_is_America_%d.html";
	static final String URL_AGRICULTURE_REPORT      = HOST + "/Agriculture_Report_%d.html";
	static final String URL_SCIENCE_IN_THE_NEWS     = HOST + "/Science_in_the_News_%d.html";
	static final String URL_HEALTH_REPORT           = HOST + "/Health_Report_%d.html";
	static final String URL_EXPLORATIONS            = HOST + "/Explorations_%d.html";
	static final String URL_EDUCATION_REPORT        = HOST + "/Education_Report_%d.html";
	static final String URL_THE_MAKING_OF_A_NATION  = HOST+ "/The_Making_of_a_Nation_%d.html";
	static final String URL_ECONOMICS_REPORT        = HOST + "/Economics_Report_%d.html";
	static final String URL_AMERICAN_MOSAIC         = HOST + "/American_Mosaic_%d.html";
	static final String URL_IN_THE_NEWS             = HOST + "/In_the_News_%d.html";
	static final String URL_AMERICAN_STORIES        = HOST + "/American_Stories_%d.html";
	static final String URL_WORDS_AND_THEIR_STORIES = HOST + "/Words_And_Their_Stories_%d.html";
	static final String URL_PEOPLE_IN_AMERICA       = HOST + "/People_in_America_%d.html";

	// English learning
	static final String URL_GO_ENGLISH              = HOST + "/Go_English_%d.html";
	static final String URL_WORD_MASTER             = HOST + "/Word_Master_%d.html";
	static final String URL_AMERICAN_CAFE           = HOST + "/American_Cafe_%d.html";
	static final String URL_POPULAR_AMERICAN        = HOST + "/Popular_American_%d.html";
	static final String URL_BUSINESS_ETIQUETTE      = HOST + "/Business_Etiquette_%d.html";
	static final String URL_SPORTS_ENGLISH          = HOST + "/Sports_English_%d.html";
	static final String URL_WORDS_AND_IDIOMS        = HOST + "/Words_And_Idioms_%d.html";
	

	// Article type_subtype ->
	private final HashMap<String, String> mListUrls = new HashMap<String, String>();
	// Article type_subtype ->
	private final HashMap<String, IListParser> mListParsers = new HashMap<String, IListParser>();
	// Article type_subtype ->
// Path: src/cn/yo2/aquarium/pocketvoa/parser/IDataSource.java
// public interface IDataSource {
// 	
// 	/*=========================================================================
// 	 * First category 
// 	 ========================================================================*/
// 	public static final String STANDARD_ENGLISH = "Standard English";
// 	public static final String SPECIAL_ENGLISH  = "Special English";
// 	public static final String ENGLISH_LEARNING = "English Learning";
// 	
// 	/*=========================================================================
// 	 * Second category 
// 	 ========================================================================*/
// 	/*
// 	 * Standard English
// 	 */
// 	public static final String ENGLISH_NEWS = "English News";
// 	/*
// 	 * Special English
// 	 */
// 	public static final String TECHNOLOGY_REPORT = "Technology Report";
// 	public static final String THIS_IS_AMERICA = "This is America";
// 	public static final String AGRICULTURE_REPORT = "Agriculture Report";
// 	public static final String SCIENCE_IN_THE_NEWS = "Science in the News";
// 	public static final String HEALTH_REPORT = "Health Report";
// 	public static final String EXPLORATIONS = "Explorations";
// 	public static final String EDUCATION_REPORT = "Education Report";
// 	public static final String THE_MAKING_OF_A_NATION = "The Making of a Nation";
// 	public static final String ECONOMICS_REPORT = "Economics Report";
// 	public static final String AMERICAN_MOSAIC = "American Mosaic";
// 	public static final String IN_THE_NEWS = "In the News";
// 	public static final String AMERICAN_STORIES = "American Stories";
// 	public static final String WORDS_AND_THEIR_STORIES = "Words And Their Stories";
// 	public static final String PEOPLE_IN_AMERICA = "People in America";
// 	/*
// 	 * English Learning
// 	 */
// 	public static final String GO_ENGLISH = "Go English";
// 	public static final String WORD_MASTER = "Word Master";
// 	public static final String AMERICAN_CAFE = "American Cafe";
// 	public static final String POPULAR_AMERICAN = "Popular American";
// 	public static final String BUSINESS_ETIQUETTE = "Business Etiquette";
// 	public static final String SPORTS_ENGLISH = "Sports English";
// 	public static final String WORDS_AND_IDIOMS = "Words And Idioms";
// 
// 		
// 	public void init(int maxCount);
// 	
// 	public HashMap<String, String> getListUrls();
// 	public HashMap<String, IListParser> getListParsers();
// 	public HashMap<String, IPageParser> getPageParsers();
// 	public HashMap<String, IPageParser> getPageZhParsers();
// 	
// 	public String getName();
// }
// 
// Path: src/cn/yo2/aquarium/pocketvoa/parser/IListParser.java
// public interface IListParser {
// 	public ArrayList<Article> parse(String body) throws IllegalContentFormatException;
// 	public int parsePageCount(String body) throws IllegalContentFormatException;
// }
// 
// Path: src/cn/yo2/aquarium/pocketvoa/parser/IPageParser.java
// public interface IPageParser {
// 	public void parse(Article article, String body) throws IllegalContentFormatException;
// }


// Path: src/cn/yo2/aquarium/pocketvoa/parser/voa51/Voa51DataSource.java
import java.util.HashMap;
import cn.yo2.aquarium.pocketvoa.parser.IDataSource;
import cn.yo2.aquarium.pocketvoa.parser.IListParser;
import cn.yo2.aquarium.pocketvoa.parser.IPageParser;

package cn.yo2.aquarium.pocketvoa.parser.voa51;



public class Voa51DataSource implements IDataSource {
	private static final String SEPERATOR = "_";

	static final String HOST = "http://www.51voa.com";

	// standard English
	static final String URL_ENGLISH_NEWS            = HOST + "/VOA_Standard_%d.html";

	// special English
	static final String URL_TECHNOLOGY_REPORT       = HOST + "/Technology_Report_%d.html";
	static final String URL_THIS_IS_AMERICA         = HOST + "/This_is_America_%d.html";
	static final String URL_AGRICULTURE_REPORT      = HOST + "/Agriculture_Report_%d.html";
	static final String URL_SCIENCE_IN_THE_NEWS     = HOST + "/Science_in_the_News_%d.html";
	static final String URL_HEALTH_REPORT           = HOST + "/Health_Report_%d.html";
	static final String URL_EXPLORATIONS            = HOST + "/Explorations_%d.html";
	static final String URL_EDUCATION_REPORT        = HOST + "/Education_Report_%d.html";
	static final String URL_THE_MAKING_OF_A_NATION  = HOST+ "/The_Making_of_a_Nation_%d.html";
	static final String URL_ECONOMICS_REPORT        = HOST + "/Economics_Report_%d.html";
	static final String URL_AMERICAN_MOSAIC         = HOST + "/American_Mosaic_%d.html";
	static final String URL_IN_THE_NEWS             = HOST + "/In_the_News_%d.html";
	static final String URL_AMERICAN_STORIES        = HOST + "/American_Stories_%d.html";
	static final String URL_WORDS_AND_THEIR_STORIES = HOST + "/Words_And_Their_Stories_%d.html";
	static final String URL_PEOPLE_IN_AMERICA       = HOST + "/People_in_America_%d.html";

	// English learning
	static final String URL_GO_ENGLISH              = HOST + "/Go_English_%d.html";
	static final String URL_WORD_MASTER             = HOST + "/Word_Master_%d.html";
	static final String URL_AMERICAN_CAFE           = HOST + "/American_Cafe_%d.html";
	static final String URL_POPULAR_AMERICAN        = HOST + "/Popular_American_%d.html";
	static final String URL_BUSINESS_ETIQUETTE      = HOST + "/Business_Etiquette_%d.html";
	static final String URL_SPORTS_ENGLISH          = HOST + "/Sports_English_%d.html";
	static final String URL_WORDS_AND_IDIOMS        = HOST + "/Words_And_Idioms_%d.html";
	

	// Article type_subtype ->
	private final HashMap<String, String> mListUrls = new HashMap<String, String>();
	// Article type_subtype ->
	private final HashMap<String, IListParser> mListParsers = new HashMap<String, IListParser>();
	// Article type_subtype ->
	private final HashMap<String, IPageParser> mPageParsers = new HashMap<String, IPageParser>();