private TableSyntaxNode[] selectAndSortNodes( XlsModuleSyntaxNode moduleSyntaxNode, ISelector<ISyntaxNode> childSelector, Comparator<TableSyntaxNode> nodesComparator) { ArrayList<TableSyntaxNode> childSyntaxNodes = new ArrayList<TableSyntaxNode>(); for (TableSyntaxNode tsn : moduleSyntaxNode.getXlsTableSyntaxNodes()) { if (childSelector == null || childSelector.select(tsn)) { childSyntaxNodes.add(tsn); } } TableSyntaxNode[] tableSyntaxNodes = childSyntaxNodes.toArray(new TableSyntaxNode[childSyntaxNodes.size()]); if (nodesComparator != null) { try { Arrays.sort(tableSyntaxNodes, nodesComparator); } catch (Exception e) { // ignore sort exceptions. } } return tableSyntaxNodes; }
/* * (non-Javadoc) * * @see org.openl.types.ITypeLibrary#getType(java.lang.String) */ @Override public IOpenClass getType(String typename) throws AmbiguousTypeException { if (!selector.select(typename)) { return null; } return super.getType(typename); }
private TableSyntaxNode[] selectSpreadsheetNodes( XlsModuleSyntaxNode moduleSyntaxNode, ISelector<ISyntaxNode> childSelector) { ArrayList<TableSyntaxNode> childSyntaxNodes = new ArrayList<TableSyntaxNode>(); for (TableSyntaxNode tsn : moduleSyntaxNode.getXlsTableSyntaxNodes()) { if (childSelector == null || childSelector.select(tsn)) { childSyntaxNodes.add(tsn); } } return childSyntaxNodes.toArray(new TableSyntaxNode[childSyntaxNodes.size()]); }