private static PropertyName getSubComponentProperty()

in kit/src/main/java/com/oracle/javafx/scenebuilder/kit/metadata/klass/ComponentClassMetadata.java [126:209]


    private static PropertyName getSubComponentProperty(Class<?> componentClass) {
        final PropertyName result;
        
        assert componentClass != javafx.scene.layout.BorderPane.class
                && componentClass != javafx.scene.control.DialogPane.class;
        
        /*
         * Component Class -> Sub Component Property
         * =========================================
         * 
         * Accordion                    panes
         * ButtonBar                    buttons
         * ContextMenu                  items
         * Menu                         items
         * MenuBar                      menus
         * MenuButton                   items
         * Path                         elements
         * SplitPane                    items
         * SplitMenuButton              items
         * TableColumn                  columns
         * TableView                    columns
         * TabPane                      tabs
         * ToolBar                      items
         * TreeTableColumn              columns
         * TreeTableView                columns
         * 
         * Group                        children
         * Panes                        children
         *
         * ------------ Gluon ------------------
         *
         * BottomNavigation             actionItems
         * CardPane                     items
         * DropdownButton               items
         * ExpansionPanelContainer      items
         * ToggleButtonGroup            toggles
         * CollapsedPanel               titleNodes
         * SettingsPane                 options
         *
         * ------------------------------------
         *
         * Other            null
         */
      
        if (componentClass == javafx.scene.control.Accordion.class) {
            result = panesName;
        } else if (componentClass == javafx.scene.control.ButtonBar.class) {
            result = buttonsName;
        } else if (componentClass == javafx.scene.control.ContextMenu.class) {
            result = itemsName;
        } else if (componentClass == javafx.scene.control.Menu.class) {
            result = itemsName;
        } else if (componentClass == javafx.scene.control.MenuBar.class) {
            result = menusName;
        } else if (componentClass == javafx.scene.control.MenuButton.class) {
            result = itemsName;
        } else if (componentClass == javafx.scene.shape.Path.class) {
            result = elementsName;
        } else if (componentClass == javafx.scene.control.SplitMenuButton.class) {
            result = itemsName;
        } else if (componentClass == javafx.scene.control.SplitPane.class) {
            result = itemsName;
        } else if (componentClass == javafx.scene.control.TableColumn.class) {
            result = columnsName;
        } else if (componentClass == javafx.scene.control.TableView.class) {
            result = columnsName;
        } else if (componentClass == javafx.scene.control.TabPane.class) {
            result = tabsName;
        } else if (componentClass == javafx.scene.control.ToolBar.class) {
            result = itemsName;
        } else if (componentClass == javafx.scene.control.TreeTableColumn.class) {
            result = columnsName;
        } else if (componentClass == javafx.scene.control.TreeTableView.class) {
            result = columnsName;
        } else if (componentClass == javafx.scene.Group.class) {
            result = childrenName;
        } else if (componentClass == javafx.scene.layout.Pane.class) {
            result = childrenName;
        } else {
            result = null;
        }
        
        return result;
    }