/** * Recursively enumerates all nodes at or below the given node * and adds them to the given list in the given order. * * @param node the starting node * @param sequence a read-write list of preference nodes * (element type: <code>IPreferenceNode</code>) * in the given order * @param order the traversal order, one of * <code>PRE_ORDER</code> and <code>POST_ORDER</code> */ protected void buildSequence(IPreferenceNode node, List<IPreferenceNode> sequence, int order) { if (order == PRE_ORDER) { sequence.add(node); } IPreferenceNode[] subnodes = node.getSubNodes(); for (int i = 0; i < subnodes.length; i++) { buildSequence(subnodes[i], sequence, order); } if (order == POST_ORDER) { sequence.add(node); } }
/** * Recursively enumerates all nodes at or below the given node * and adds them to the given list in the given order. * * @param node the starting node * @param sequence a read-write list of preference nodes * (element type: <code>IPreferenceNode</code>) * in the given order * @param order the traversal order, one of * <code>PRE_ORDER</code> and <code>POST_ORDER</code> */ protected void buildSequence(IPreferenceNode node, List<IPreferenceNode> sequence, int order) { if (order == PRE_ORDER) { sequence.add(node); } IPreferenceNode[] subnodes = node.getSubNodes(); for (IPreferenceNode subnode : subnodes) { buildSequence(subnode, sequence, order); } if (order == POST_ORDER) { sequence.add(node); } }
/** * Recursively enumerates all nodes at or below the given node * and adds them to the given list in the given order. * * @param node the starting node * @param sequence a read-write list of preference nodes * (element type: <code>IPreferenceNode</code>) * in the given order * @param order the traversal order, one of * <code>PRE_ORDER</code> and <code>POST_ORDER</code> */ protected void buildSequence(IPreferenceNode node, List sequence, int order) { if (order == PRE_ORDER) { sequence.add(node); } IPreferenceNode[] subnodes = node.getSubNodes(); for (int i = 0; i < subnodes.length; i++) { buildSequence(subnodes[i], sequence, order); } if (order == POST_ORDER) { sequence.add(node); } }
/** * Returns all preference nodes managed by this * manager. * * @param order the traversal order, one of * <code>PRE_ORDER</code> and <code>POST_ORDER</code> * @return a list of preference nodes * (element type: <code>IPreferenceNode</code>) * in the given order */ public List<IPreferenceNode> getElements(int order) { Assert.isTrue(order == PRE_ORDER || order == POST_ORDER, "invalid traversal order");//$NON-NLS-1$ ArrayList<IPreferenceNode> sequence = new ArrayList<>(); IPreferenceNode[] subnodes = getRoot().getSubNodes(); for (int i = 0; i < subnodes.length; i++) { buildSequence(subnodes[i], sequence, order); } return sequence; }
/** * Returns all preference nodes managed by this * manager. * * @param order the traversal order, one of * <code>PRE_ORDER</code> and <code>POST_ORDER</code> * @return a list of preference nodes * (element type: <code>IPreferenceNode</code>) * in the given order */ public List<IPreferenceNode> getElements(int order) { Assert.isTrue(order == PRE_ORDER || order == POST_ORDER, "invalid traversal order");//$NON-NLS-1$ ArrayList<IPreferenceNode> sequence = new ArrayList<>(); IPreferenceNode[] subnodes = getRoot().getSubNodes(); for (IPreferenceNode subnode : subnodes) { buildSequence(subnode, sequence, order); } return sequence; }
/** * Returns all preference nodes managed by this * manager. * * @param order the traversal order, one of * <code>PRE_ORDER</code> and <code>POST_ORDER</code> * @return a list of preference nodes * (element type: <code>IPreferenceNode</code>) * in the given order */ public List getElements(int order) { Assert.isTrue(order == PRE_ORDER || order == POST_ORDER, "invalid traversal order");//$NON-NLS-1$ ArrayList sequence = new ArrayList(); IPreferenceNode[] subnodes = getRoot().getSubNodes(); for (int i = 0; i < subnodes.length; i++) { buildSequence(subnodes[i], sequence, order); } return sequence; }