PARSER.setTalkHandler (HANDLER);\r
}\r
\r
- /**\r
- * Periodを更新する。Topicのリストが更新される。\r
- * @param period 日\r
- * @param force trueなら強制再読み込み。\r
- * falseならまだ読み込んで無い時のみ読み込み。\r
- * @throws IOException ネットワーク入力エラー\r
- */\r
- public static void parsePeriod(Period period, boolean force)\r
- throws IOException{\r
- if( ! force && period.hasLoaded() ) return;\r
-\r
- Village village = period.getVillage();\r
- Land land = village.getParentLand();\r
- ServerAccess server = land.getServerAccess();\r
-\r
- if(village.getState() != VillageState.PROGRESS){\r
- period.isFullOpen = true;\r
- }else if(period.getType() != PeriodType.PROGRESS){\r
- period.isFullOpen = true;\r
- }else{\r
- period.isFullOpen = false;\r
- }\r
-\r
- HtmlSequence html = server.getHTMLPeriod(period);\r
-\r
- period.topicList.clear();\r
-\r
- boolean wasHot = period.isHot();\r
-\r
- HANDLER.setPeriod(period);\r
- DecodedContent content = html.getContent();\r
- try{\r
- PARSER.parseAutomatic(content);\r
- }catch(HtmlParseException e){\r
- Jindolf.logger().warn("発言抽出に失敗", e);\r
- }\r
-\r
- if(wasHot && ! period.isHot() ){\r
- parsePeriod(period, true);\r
- return;\r
- }\r
-\r
- return;\r
- }\r
-\r
private final Village homeVillage;\r
private final PeriodType periodType;\r
private final int day;\r
private final List<Topic> unmodList =\r
Collections.unmodifiableList(this.topicList);\r
\r
+\r
/**\r
* この Period が進行中の村の最新日で、\r
* 今まさに次々と発言が蓄積されているときは\r
*/\r
private boolean isHot;\r
\r
+\r
/**\r
* Periodを生成する。\r
* この段階では発言データのロードは行われない。\r
return;\r
}\r
\r
+\r
+ /**\r
+ * Periodを更新する。Topicのリストが更新される。\r
+ * @param period 日\r
+ * @param force trueなら強制再読み込み。\r
+ * falseならまだ読み込んで無い時のみ読み込み。\r
+ * @throws IOException ネットワーク入力エラー\r
+ */\r
+ public static void parsePeriod(Period period, boolean force)\r
+ throws IOException{\r
+ if( ! force && period.hasLoaded() ) return;\r
+\r
+ Village village = period.getVillage();\r
+ Land land = village.getParentLand();\r
+ ServerAccess server = land.getServerAccess();\r
+\r
+ if(village.getState() != VillageState.PROGRESS){\r
+ period.isFullOpen = true;\r
+ }else if(period.getType() != PeriodType.PROGRESS){\r
+ period.isFullOpen = true;\r
+ }else{\r
+ period.isFullOpen = false;\r
+ }\r
+\r
+ HtmlSequence html = server.getHTMLPeriod(period);\r
+\r
+ period.topicList.clear();\r
+\r
+ boolean wasHot = period.isHot();\r
+\r
+ HANDLER.setPeriod(period);\r
+ DecodedContent content = html.getContent();\r
+ try{\r
+ PARSER.parseAutomatic(content);\r
+ }catch(HtmlParseException e){\r
+ Jindolf.logger().warn("発言抽出に失敗", e);\r
+ }\r
+\r
+ if(wasHot && ! period.isHot() ){\r
+ parsePeriod(period, true);\r
+ return;\r
+ }\r
+\r
+ return;\r
+ }\r
+\r
/**\r
* 所属する村を返す。\r
* @return 村\r