Jollyday API - 如何从URL创建HolidayManager实例?

时间:2016-09-06 20:02:20

标签: java

快速介绍:
对于那些不知道的人; Jollyday是一个帮助您处理假日感知代码的API。它允许您从预先构建的配置中检索公共假日。您甚至可以在XML文件中创建自己的假日配置并将其加载到API中,这正是我想要做的。

我在XML文件中创建了我自己的假日配置,我想将其加载到Jollyday。

Official Jollyday Documentation (对于版本0.5.1) 显示了使用以下代码完成此操作的示例 ...

URL url = new URL("file:some/path/MyHolidays.xml");
HolidayManager m = HolidayManager.getInstance(url);

问题

当我尝试使用此代码时,它将无法编译,因为HolidayManager没有 getInstance(URL)方法。

以下是HolidayManager.getInstance() 的所有重载变体的屏幕截图(从IntelliJ IDEA中可以看到)

Screenshot of intelliJ showing all of the HolidayManager.getInstance method variations

文档出现不正确。

更多信息

  

“您使用的是正确版本的API吗?”

是的,我正在使用我用gradle下载的版本0.5.1 。这与documentation中使用的版本相同。

问题

是否可以使用URL创建HolidayManager实例?
如果是这样,它是如何完成的?

1 个答案:

答案 0 :(得分:1)

答案

  

是否可以使用URL创建HolidayManager实例?

  

文档似乎不正确。

  • 文档略显过时。该代码已于2011年底从SourceForge迁移到GitHub。因此,部分信息已过时。

  • 如果查看HolidayManager的{​​{3}},您可以看到GitHub Commit History中删除了HolidayManager.getInstance(URL)方法。

工作示例

URL url = new URL("file:some/path/MyHolidays.xml");
UrlManagerParameter urlManParam = new UrlManagerParameter(url, new Properties());
HolidayManager holidayManager = HolidayManager.getInstance(urlManParam);

这将完全按照您的预期工作,只需要几行。 您也应该使用更好的变量名称,我只想保持简短。

不要忘记导入以下类:

import de.jollyday.HolidayManager;
import de.jollyday.parameter.UrlManagerParameter;
import java.net.URL;
import java.util.Properties;

您现在可以将自定义假日配置加载到Jollyday中。享受!

相关问题