快速介绍:
对于那些不知道的人; 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中可以看到)。
文档出现不正确。
“您使用的是正确版本的API吗?”
是的,我正在使用我用gradle下载的版本0.5.1 。这与documentation中使用的版本相同。
是否可以使用URL创建HolidayManager实例?
如果是这样,它是如何完成的?
答案 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中。享受!