How does one handle a java method which returns a non-public sub-type via reflection?
jeffrey kutcher
jeffrey_kutcher at yahoo.com
Fri Jan 26 16:40:15 UTC 2018
VBox class hierarchy shows getChildren() is implemented in Parent
and Pane. vbox.getChildren() returns an instance of Parent which is
protected rather than public found in Pane. Accessing the List
returned by Parent is an illegal reference because it is protected
while accessing the List returned by Pane should be legal, but
this isn't whats returned.
VBox Class Hierarchy:
java.lang.Object
javafx.scene.Node
javafx.scene.Parent -> protected ObservableList<Node> getChildren()
javafx.scene.layout.Region
javafx.scene.layout.Pane -> public ObservableList<Node> getChildren()
javafx.scene.layout.VBox
Class instance of vbox.getChildren() is:
vbox.getChildren().getClass() -> class javafx.scene.Parent$3
Pane is widening the access restrictions of Parent. Is this intentional?
Does it have any effect? Should Parent's access restrictions of getChildren()
be public or should Pane's be protected?
My thought is public for both.
More information about the jigsaw-dev
mailing list