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

byx*_*xor 4 java

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


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

Jollyday 官方文档版本 0.5.1) 显示了使用以下代码完成此操作的示例...

URL url = new URL("file:some/path/MyHolidays.xml");
HolidayManager m = HolidayManager.getInstance(url);
Run Code Online (Sandbox Code Playgroud)

问题

当我尝试使用此代码时,它不会编译,因为HolidayManager该类没有方法getInstance(URL)

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

显示所有 HolidayManager.getInstance 方法变体的 intelliJ 屏幕截图

该文档似乎不正确。

更多信息

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

是的,我使用的是0.5.1 版本,是通过 gradle 下载的。这与文档中使用的版本相同。

问题

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

byx*_*xor 6

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

该文档似乎不正确。

工作示例

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

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

不要忘记导入以下类:

import de.jollyday.HolidayManager;
import de.jollyday.parameter.UrlManagerParameter;
import java.net.URL;
import java.util.Properties;
Run Code Online (Sandbox Code Playgroud)

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