protected ExtensionQuery(ExtensionQuery other) : base(other) { this.prefix = other.prefix; this.name = other.name; this.xsltContext = other.xsltContext; _queryIterator = (ResetableIterator)Clone(other._queryIterator); }
/// <exception cref="System.IO.IOException"/> internal WrappedRecordReader(int id, RecordReader <K, U> rr, Type cmpcl, Configuration conf) { // index at which values will be inserted in collector // key at the top of this RR // value assoc with khead this.id = id; this.rr = rr; this.conf = (conf == null) ? new Configuration() : conf; khead = rr.CreateKey(); vhead = rr.CreateValue(); try { cmp = (null == cmpcl) ? WritableComparator.Get(khead.GetType(), this.conf) : System.Activator.CreateInstance (cmpcl); } catch (InstantiationException e) { throw (IOException)Sharpen.Extensions.InitCause(new IOException(), e); } catch (MemberAccessException e) { throw (IOException)Sharpen.Extensions.InitCause(new IOException(), e); } vjoin = new StreamBackedIterator <U>(); Next(); }
string Dump(ResetableIterator it) { it = (ResetableIterator) it.Clone(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("("); do { XPathNavigator nav = it.Current.Clone(); nav.MoveToAttribute("id1", ""); sb.Append(nav.Value); sb.Append(", "); } while (it.MoveNext()); sb.Length = sb.Length - 2; sb.Append(")"); return sb.ToString(); }
protected object ProcessResult(object value) { if (value is string ) return value; if (value is double ) return value; if (value is bool ) return value; if (value is XPathNavigator) return value; if (value is Int32 ) return (double)(Int32)value; if (value == null) { queryIterator = XPathEmptyIterator.Instance; return this; // We map null to NodeSet to let $null/foo work well. } ResetableIterator resetable = value as ResetableIterator; if (resetable != null) { // We need Clone() value because variable may be used several times // and they shouldn't queryIterator = (ResetableIterator)resetable.Clone(); return this; } XPathNodeIterator nodeIterator = value as XPathNodeIterator; if (nodeIterator != null) { queryIterator = new XPathArrayIterator(nodeIterator); return this; } IXPathNavigable navigable = value as IXPathNavigable; if(navigable != null) { return navigable.CreateNavigator(); } if (value is Int16 ) return (double)(Int16)value; if (value is Int64 ) return (double)(Int64)value; if (value is UInt32) return (double)(UInt32)value; if (value is UInt16) return (double)(UInt16)value; if (value is UInt64) return (double)(UInt64)value; if (value is Single) return (double)(Single)value; if (value is Decimal) return (double)(Decimal)value; return value.ToString(); }
protected ResetableIterator(ResetableIterator other) { base.count = other.count; }
public XmlIteratorQuery(ResetableIterator it) { this.it = it; }
protected object ProcessResult(object value) { if (value is string) { return value; } if (value is double) { return value; } if (value is bool) { return value; } if (value is XPathNavigator) { return value; } if (value is int) { return (double) ((int) value); } if (value == null) { this.queryIterator = XPathEmptyIterator.Instance; return this; } ResetableIterator iterator = value as ResetableIterator; if (iterator != null) { this.queryIterator = (ResetableIterator) iterator.Clone(); return this; } XPathNodeIterator nodeIterator = value as XPathNodeIterator; if (nodeIterator != null) { this.queryIterator = new XPathArrayIterator(nodeIterator); return this; } IXPathNavigable navigable = value as IXPathNavigable; if (navigable != null) { return navigable.CreateNavigator(); } if (value is short) { return (double) ((short) value); } if (value is long) { return (double) ((long) value); } if (value is uint) { return (double) ((uint) value); } if (value is ushort) { return (double) ((ushort) value); } if (value is ulong) { return (double) ((ulong) value); } if (value is float) { return (double) ((float) value); } if (value is decimal) { return (double) ((decimal) value); } return value.ToString(); }
/// <summary>Register a given iterator at position id.</summary> /// <exception cref="System.IO.IOException"/> public virtual void Add(int id, ResetableIterator <X> i) { this.iters[id] = i; }
protected XmlIteratorQuery(XmlIteratorQuery other) : base(other) { this.it = (ResetableIterator)other.it.Clone(); }
public XmlIteratorQuery(XPathNodeIterator it) { this.it = it as ResetableIterator; if (this.it == null) { this.it = new XPathArrayIterator(it); } }