/** * Helper to quickly get the elements from obj in the elements collection * @param obj Language object * @param elements Collection to collect elements in */ public static final void getElements(LanguageObject obj, Collection<? super ElementSymbol> elements) { if(obj == null) { return; } ElementCollectorVisitor visitor = new ElementCollectorVisitor(elements); PreOrderNavigator.doVisit(obj, visitor); }
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { PreOrderNavigator nav = new PreOrderNavigator(visitor); object.acceptVisitor(nav); }
@Override protected void preVisitVisitor(LanguageObject obj) { super.preVisitVisitor(obj); visitor.stack.add(obj); }
@Override protected void visitNode(LanguageObject obj) { if (!visitCommands && obj instanceof Command) { return; } super.visitNode(obj); }
@Override public void visit(UnaryFromClause obj) { GroupSymbol symbol = obj.getGroup(); if (visitor.aliasGroups) { recontextGroup(symbol, false); } else { visitor.namingContext.groupNames.put(symbol.getName(), symbol.getNonCorrelationName()); } super.visit(obj); }
@Override protected void visitNode(LanguageObject obj) { if (!visitCommands && obj instanceof Command) { return; } super.visitNode(obj); }
@Override public void visit(UnaryFromClause obj) { GroupSymbol symbol = obj.getGroup(); if (visitor.aliasGroups) { recontextGroup(symbol, false); } else { visitor.namingContext.groupNames.put(symbol.getName(), symbol.getNonCorrelationName()); } super.visit(obj); }
public static final List<SubqueryContainer<?>> getValueIteratorProviders(Collection<? extends LanguageObject> languageObjects) { if (languageObjects == null || languageObjects.isEmpty()) { return Collections.emptyList(); } List<SubqueryContainer<?>> result = new LinkedList<SubqueryContainer<?>>(); ValueIteratorProviderCollectorVisitor visitor = new ValueIteratorProviderCollectorVisitor(result); for (LanguageObject obj : languageObjects) { PreOrderNavigator.doVisit(obj, visitor); } return result; }
@Override protected void visitNode(LanguageObject obj) { if (!visitCommands && obj instanceof Command) { return; } super.visitNode(obj); }
@Override protected void preVisitVisitor(LanguageObject obj) { super.preVisitVisitor(obj); visitor.stack.add(obj); }
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { PreOrderNavigator nav = new PreOrderNavigator(visitor); object.acceptVisitor(nav); }
@Override public void visit(UnaryFromClause obj) { GroupSymbol symbol = obj.getGroup(); if (visitor.aliasGroups) { recontextGroup(symbol, false); } else { visitor.namingContext.groupNames.put(symbol.getName(), symbol.getNonCorrelationName()); } super.visit(obj); }
public static final void getValueIteratorProviders(LanguageObject obj, List<SubqueryContainer<?>> valueIteratorProviders) { ValueIteratorProviderCollectorVisitor visitor = new ValueIteratorProviderCollectorVisitor(valueIteratorProviders); PreOrderNavigator.doVisit(obj, visitor); }
protected void visitNode(LanguageObject obj) { QueryMetadataInterface previous = visitor.getMetadata(); setTempMetadata(metadata, visitor, obj); super.visitNode(obj); visitor.setMetadata(previous); }
@Override protected void preVisitVisitor(LanguageObject obj) { super.preVisitVisitor(obj); visitor.stack.add(obj); }
public static void doVisit(LanguageObject object, LanguageVisitor visitor) { PreOrderNavigator nav = new PreOrderNavigator(visitor); object.acceptVisitor(nav); }
public static final void getValueIteratorProviders(LanguageObject obj, List<SubqueryContainer<?>> valueIteratorProviders) { ValueIteratorProviderCollectorVisitor visitor = new ValueIteratorProviderCollectorVisitor(valueIteratorProviders); PreOrderNavigator.doVisit(obj, visitor); }
protected void visitNode(LanguageObject obj) { QueryMetadataInterface previous = visitor.getMetadata(); setTempMetadata(metadata, visitor, obj); super.visitNode(obj); visitor.setMetadata(previous); }
public static final void getValueIteratorProviders(LanguageObject obj, List<SubqueryContainer<?>> valueIteratorProviders) { ValueIteratorProviderCollectorVisitor visitor = new ValueIteratorProviderCollectorVisitor(valueIteratorProviders); PreOrderNavigator.doVisit(obj, visitor); }
protected void visitNode(LanguageObject obj) { QueryMetadataInterface previous = visitor.getMetadata(); setTempMetadata(metadata, visitor, obj); super.visitNode(obj); visitor.setMetadata(previous); }