/** * Creates a clone of the {@link SelectItem} for use within a cloned {@link Query}. * * @param clonedQuery a new {@link Query} object that represents the clone-to-be of a query. It is expected that * {@link FromItem}s have already been cloned in this {@link Query}. * @return */ protected SelectItem clone(Query clonedQuery) { final SelectItem subQuerySelectItem = (_subQuerySelectItem == null ? null : _subQuerySelectItem.clone()); final FromItem fromItem; if (_fromItem == null) { fromItem = null; } else if (clonedQuery != null && _query != null) { final int indexOfFromItem = _query.getFromClause().indexOf(_fromItem); if (indexOfFromItem != -1) { fromItem = clonedQuery.getFromClause().getItem(indexOfFromItem); } else { fromItem = _fromItem.clone(); } } else { fromItem = _fromItem.clone(); } final SelectItem s = new SelectItem(_column, fromItem, _function, _functionParameters, _expression, subQuerySelectItem, _alias, _functionApproximationAllowed); return s; }
/** * Creates a clone of the {@link SelectItem} for use within a cloned {@link Query}. * * @param clonedQuery a new {@link Query} object that represents the clone-to-be of a query. It is expected that * {@link FromItem}s have already been cloned in this {@link Query}. * @return */ protected SelectItem clone(Query clonedQuery) { final SelectItem subQuerySelectItem = (_subQuerySelectItem == null ? null : _subQuerySelectItem.clone()); final FromItem fromItem; if (_fromItem == null) { fromItem = null; } else if (clonedQuery != null && _query != null) { final int indexOfFromItem = _query.getFromClause().indexOf(_fromItem); if (indexOfFromItem != -1) { fromItem = clonedQuery.getFromClause().getItem(indexOfFromItem); } else { fromItem = _fromItem.clone(); } } else { fromItem = _fromItem.clone(); } final SelectItem s = new SelectItem(_column, fromItem, _function, _functionParameters, _expression, subQuerySelectItem, _alias, _functionApproximationAllowed); return s; }