Wicket 为什么Component.isInitialized()方法不是公共的?

Wicket 为什么Component.isInitialized()方法不是公共的?,wicket,Wicket,这种方法是包私有的,我只检查了版本7.6.0,但我发现在没有检查内部组件初始化状态的能力的情况下,很难将适当的故障保护构建到更复杂的组件中。如果我可以公开访问该方法,它肯定不会造成任何伤害,因为它是一个只读方法。然而,我没有找到任何替代方法来检查组件实例是否通过了初始化阶段。我发现该方法在8.x中是公共的。因此,您有两种选择:1使用Wicket 8.0.0-M4或提交票据,以便在7.x中公开它。为什么您需要知道组件是否已初始化?我个人从来不需要在我的应用程序中知道这一点。如果你有充分的理由,那么

这种方法是包私有的,我只检查了版本7.6.0,但我发现在没有检查内部组件初始化状态的能力的情况下,很难将适当的故障保护构建到更复杂的组件中。如果我可以公开访问该方法,它肯定不会造成任何伤害,因为它是一个只读方法。然而,我没有找到任何替代方法来检查组件实例是否通过了初始化阶段。

我发现该方法在8.x中是公共的。因此,您有两种选择:1使用Wicket 8.0.0-M4或提交票据,以便在7.x中公开它。

为什么您需要知道组件是否已初始化?我个人从来不需要在我的应用程序中知道这一点。如果你有充分的理由,那么我想我们可以公开!对我来说,在构建更大的可定制复合组件时需要它。它的一些方法只有在初始化阶段之前才能合法调用,因为它们会影响组件内部部件的配置方式,因此在初始化之后调用它们会产生误导,而不会引发异常,因为它们会被默默地忽略。也许这不是唯一的方法,但我发现这种方法在复杂的情况下非常有用,因为它隐藏了内部的复杂性,同时提供了自己有意义的API。非常感谢。一旦8.0发布,我将迁移到它。