public static final Collection<AggregateSymbol> getAggregates(LanguageObject obj, boolean removeDuplicates) { if (obj == null) { return Collections.emptyList(); } Collection<AggregateSymbol> aggregates = null; if (removeDuplicates) { aggregates = new LinkedHashSet<AggregateSymbol>(); } else { aggregates = new ArrayList<AggregateSymbol>(); } AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, null); AggregateStopNavigator asn = new AggregateStopNavigator(visitor, null, null); obj.acceptVisitor(asn); return aggregates; }
public static final Collection<AggregateSymbol> getAggregates(LanguageObject obj, boolean removeDuplicates) { if (obj == null) { return Collections.emptyList(); } Collection<AggregateSymbol> aggregates = null; if (removeDuplicates) { aggregates = new LinkedHashSet<AggregateSymbol>(); } else { aggregates = new ArrayList<AggregateSymbol>(); } AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, null); AggregateStopNavigator asn = new AggregateStopNavigator(visitor, null, null); obj.acceptVisitor(asn); return aggregates; }
public static final Collection<AggregateSymbol> getAggregates(LanguageObject obj, boolean removeDuplicates) { if (obj == null) { return Collections.emptyList(); } Collection<AggregateSymbol> aggregates = null; if (removeDuplicates) { aggregates = new LinkedHashSet<AggregateSymbol>(); } else { aggregates = new ArrayList<AggregateSymbol>(); } AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, null); AggregateStopNavigator asn = new AggregateStopNavigator(visitor, null, null); obj.acceptVisitor(asn); return aggregates; }
public static final void getAggregates(LanguageObject obj, Collection<? super AggregateSymbol> aggregates, Collection<? super ElementSymbol> otherElements, Collection<? super Expression> groupingColsUsed, Collection<? super WindowFunction> windowFunctions, Collection<? extends Expression> groupingCols) { AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, otherElements); visitor.windowFunctions = windowFunctions; AggregateStopNavigator asn = new AggregateStopNavigator(visitor, groupingColsUsed, groupingCols); asn.visitNode(obj); }
public static final void getAggregates(LanguageObject obj, Collection<? super AggregateSymbol> aggregates, Collection<? super ElementSymbol> otherElements, Collection<? super Expression> groupingColsUsed, Collection<? super WindowFunction> windowFunctions, Collection<? extends Expression> groupingCols) { AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, otherElements); visitor.windowFunctions = windowFunctions; AggregateStopNavigator asn = new AggregateStopNavigator(visitor, groupingColsUsed, groupingCols); asn.visitNode(obj); }
public static final void getAggregates(LanguageObject obj, Collection<? super AggregateSymbol> aggregates, Collection<? super ElementSymbol> otherElements, Collection<? super Expression> groupingColsUsed, Collection<? super WindowFunction> windowFunctions, Collection<? extends Expression> groupingCols) { AggregateSymbolCollectorVisitor visitor = new AggregateSymbolCollectorVisitor(aggregates, otherElements); visitor.windowFunctions = windowFunctions; AggregateStopNavigator asn = new AggregateStopNavigator(visitor, groupingColsUsed, groupingCols); asn.visitNode(obj); }