/// <summary> /// Check if this segment is equal to another segment. /// </summary> /// <param name="other">the other segment to check.</param> /// <returns>true if the other segment is equal.</returns> /// <exception cref="System.ArgumentNullException">Throws if the input other is null.</exception> internal override bool Equals(ODataPathSegment other) { DebugUtils.CheckNoExternalCallers(); ExceptionUtils.CheckArgumentNotNull(other, "other"); KeySegment otherKeySegment = other as KeySegment; return(otherKeySegment != null && otherKeySegment.Keys.SequenceEqual(this.Keys) && otherKeySegment.EdmType == this.edmType && otherKeySegment.EntitySet == this.entitySet); }
/// <summary> /// Translate a KeySegment /// </summary> /// <param name="segment">the segment to Translate</param> /// <returns>Defined by the implementer.</returns> public virtual T Translate(KeySegment segment) { throw new NotImplementedException(); }
/// <summary> /// Determine the EntitySet of a KeySegment /// </summary> /// <param name="segment">The KeySegment to look in.</param> /// <returns>The IEdmEntitySet of this KeySegment</returns> /// <exception cref="System.ArgumentNullException">Throws if the input segment is null.</exception> public override IEdmEntitySet Translate(KeySegment segment) { DebugUtils.CheckNoExternalCallers(); ExceptionUtils.CheckArgumentNotNull(segment, "segment"); return(segment.EntitySet); }
/// <summary> /// Handle a KeySegment /// </summary> /// <param name="segment">the segment to Handle</param> public virtual void Handle(KeySegment segment) { throw new NotImplementedException(); }
/// <summary> /// Translate a KeySegment /// </summary> /// <param name="segment">the segment to Translate</param> /// <returns>UserDefinedValue</returns> /// <exception cref="System.ArgumentNullException">Throws if the input segment is null.</exception> public override bool Translate(KeySegment segment) { ExceptionUtils.CheckArgumentNotNull(segment, "segment"); return(false); }