/** * Add an element symbol referenced by this multiple element symbol * @param symbol Element symbol referenced by this multiple element symbol */ public void addElementSymbol(ElementSymbol symbol) { if(getElementSymbols() == null) { setElementSymbols(new LinkedList<ElementSymbol>()); } getElementSymbols().add(symbol); }
/** * Add an element symbol referenced by this multiple element symbol * @param symbol Element symbol referenced by this multiple element symbol */ public void addElementSymbol(ElementSymbol symbol) { if(getElementSymbols() == null) { setElementSymbols(new LinkedList<ElementSymbol>()); } getElementSymbols().add(symbol); }
/** * Add an element symbol referenced by this multiple element symbol * @param symbol Element symbol referenced by this multiple element symbol */ public void addElementSymbol(ElementSymbol symbol) { if(getElementSymbols() == null) { setElementSymbols(new LinkedList<ElementSymbol>()); } getElementSymbols().add(symbol); }
/** * Get the ordered list of all elements returned by this select. These elements * may be ElementSymbols or ExpressionSymbols but in all cases each represents a * single column. * @return Ordered list of SingleElementSymbol */ public List<Expression> getProjectedSymbols() { ArrayList<Expression> projectedSymbols = new ArrayList<Expression>(); for (Expression symbol : symbols) { if(symbol instanceof MultipleElementSymbol) { List<ElementSymbol> multiSymbols = ((MultipleElementSymbol)symbol).getElementSymbols(); if(multiSymbols != null) { projectedSymbols.addAll(multiSymbols); } } else { projectedSymbols.add(symbol); } } return projectedSymbols; }
/** * Visit a language object and collect symbols. This method should <b>NOT</b> be * called directly. * @param obj Language object */ public void visit(MultipleElementSymbol obj) { List<ElementSymbol> elementSymbols = obj.getElementSymbols(); if(elementSymbols != null) { for (int i = 0; i < elementSymbols.size(); i++) { visit(elementSymbols.get(i)); } } }
/** * Get the ordered list of all elements returned by this select. These elements * may be ElementSymbols or ExpressionSymbols but in all cases each represents a * single column. * @return Ordered list of SingleElementSymbol */ public List<Expression> getProjectedSymbols() { ArrayList<Expression> projectedSymbols = new ArrayList<Expression>(); for (Expression symbol : symbols) { if(symbol instanceof MultipleElementSymbol) { List<ElementSymbol> multiSymbols = ((MultipleElementSymbol)symbol).getElementSymbols(); if(multiSymbols != null) { projectedSymbols.addAll(multiSymbols); } } else { projectedSymbols.add(symbol); } } return projectedSymbols; }
/** * Get the ordered list of all elements returned by this select. These elements * may be ElementSymbols or ExpressionSymbols but in all cases each represents a * single column. * @return Ordered list of SingleElementSymbol */ public List<Expression> getProjectedSymbols() { ArrayList<Expression> projectedSymbols = new ArrayList<Expression>(); for (Expression symbol : symbols) { if(symbol instanceof MultipleElementSymbol) { List<ElementSymbol> multiSymbols = ((MultipleElementSymbol)symbol).getElementSymbols(); if(multiSymbols != null) { projectedSymbols.addAll(multiSymbols); } } else { projectedSymbols.add(symbol); } } return projectedSymbols; }
/** * Visit a language object and collect symbols. This method should <b>NOT</b> be * called directly. * @param obj Language object */ public void visit(MultipleElementSymbol obj) { List<ElementSymbol> elementSymbols = obj.getElementSymbols(); if(elementSymbols != null) { for (int i = 0; i < elementSymbols.size(); i++) { visit(elementSymbols.get(i)); } } }
/** * Visit a language object and collect symbols. This method should <b>NOT</b> be * called directly. * @param obj Language object */ public void visit(MultipleElementSymbol obj) { List<ElementSymbol> elementSymbols = obj.getElementSymbols(); if(elementSymbols != null) { for (int i = 0; i < elementSymbols.size(); i++) { visit(elementSymbols.get(i)); } } }
/** * Swap each ElementSymbol referenced by AllInGroupSymbol * @param obj Object to remap */ public void visit(MultipleElementSymbol obj) { List<ElementSymbol> oldSymbols = obj.getElementSymbols(); if(oldSymbols != null && oldSymbols.size() > 0) { List<ElementSymbol> newSymbols = new ArrayList<ElementSymbol>(oldSymbols.size()); Iterator<ElementSymbol> iter = oldSymbols.iterator(); while(iter.hasNext()) { ElementSymbol es = iter.next(); ElementSymbol mappedSymbol = getMappedElement(es); newSymbols.add( mappedSymbol ); } obj.setElementSymbols(newSymbols); } if (obj.getGroup() == null) { return; } obj.setGroup(getMappedGroup(obj.getGroup())); }
/** * Swap each ElementSymbol referenced by AllInGroupSymbol * @param obj Object to remap */ public void visit(MultipleElementSymbol obj) { List<ElementSymbol> oldSymbols = obj.getElementSymbols(); if(oldSymbols != null && oldSymbols.size() > 0) { List<ElementSymbol> newSymbols = new ArrayList<ElementSymbol>(oldSymbols.size()); Iterator<ElementSymbol> iter = oldSymbols.iterator(); while(iter.hasNext()) { ElementSymbol es = iter.next(); ElementSymbol mappedSymbol = getMappedElement(es); newSymbols.add( mappedSymbol ); } obj.setElementSymbols(newSymbols); } if (obj.getGroup() == null) { return; } obj.setGroup(getMappedGroup(obj.getGroup())); }
/** * Swap each ElementSymbol referenced by AllInGroupSymbol * @param obj Object to remap */ public void visit(MultipleElementSymbol obj) { List<ElementSymbol> oldSymbols = obj.getElementSymbols(); if(oldSymbols != null && oldSymbols.size() > 0) { List<ElementSymbol> newSymbols = new ArrayList<ElementSymbol>(oldSymbols.size()); Iterator<ElementSymbol> iter = oldSymbols.iterator(); while(iter.hasNext()) { ElementSymbol es = iter.next(); ElementSymbol mappedSymbol = getMappedElement(es); newSymbols.add( mappedSymbol ); } obj.setElementSymbols(newSymbols); } if (obj.getGroup() == null) { return; } obj.setGroup(getMappedGroup(obj.getGroup())); }
/** * Return a deep copy of this object * @return Deep copy of this object */ public Object clone() { MultipleElementSymbol copy = new MultipleElementSymbol(); if (group != null) { copy.group = group.clone(); } List<ElementSymbol> elements = getElementSymbols(); if(elements != null && elements.size() > 0) { copy.setElementSymbols(LanguageObject.Util.deepClone(elements, ElementSymbol.class)); } return copy; }
/** * Return a deep copy of this object * @return Deep copy of this object */ public Object clone() { MultipleElementSymbol copy = new MultipleElementSymbol(); if (group != null) { copy.group = group.clone(); } List<ElementSymbol> elements = getElementSymbols(); if(elements != null && elements.size() > 0) { copy.setElementSymbols(LanguageObject.Util.deepClone(elements, ElementSymbol.class)); } return copy; }
/** * Return a deep copy of this object * @return Deep copy of this object */ public Object clone() { MultipleElementSymbol copy = new MultipleElementSymbol(); if (group != null) { copy.group = group.clone(); } List<ElementSymbol> elements = getElementSymbols(); if(elements != null && elements.size() > 0) { copy.setElementSymbols(LanguageObject.Util.deepClone(elements, ElementSymbol.class)); } return copy; }
/** * Convert the "*" in "select * from..." to the list of column names for the data source. */ protected void expandAllSymbol(Command command) { if (command instanceof Query) { Query query = (Query) command; Select select = query.getSelect(); List<Expression> originalSymbols = select.getSymbols(); List<Expression> expandedSymbols = new ArrayList<Expression>(); for (Iterator<Expression> i = originalSymbols.iterator(); i.hasNext(); ) { Expression next = i.next(); if (next instanceof MultipleElementSymbol) { MultipleElementSymbol allSymbol = (MultipleElementSymbol) next; expandedSymbols.addAll(allSymbol.getElementSymbols()); } else { expandedSymbols.add(next); } } select.setSymbols(expandedSymbols); } }
map = new HashMap<String, LanguageObject>(); for (Iterator<ElementSymbol> iter = mes.getElementSymbols().iterator(); iter.hasNext();) { ElementSymbol es = iter.next(); Object metadataObject = es.getMetadataID();
map = new HashMap<String, LanguageObject>(); for (Iterator<ElementSymbol> iter = mes.getElementSymbols().iterator(); iter.hasNext();) { ElementSymbol es = iter.next(); Object metadataObject = es.getMetadataID();
map = new HashMap<String, LanguageObject>(); for (Iterator<ElementSymbol> iter = mes.getElementSymbols().iterator(); iter.hasNext();) { ElementSymbol es = iter.next(); Object metadataObject = es.getMetadataID();