Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

44 lines
1.4 KiB
C#

namespace System.Web.Routing {
using System.Collections.Generic;
using System.Linq;
// Represents a segment of a URL that is not a separator. It contains subsegments such as literals and parameters.
internal sealed class ContentPathSegment : PathSegment {
public ContentPathSegment(IList<PathSubsegment> subsegments) {
Subsegments = subsegments;
}
public bool IsCatchAll {
get {
//
return Subsegments.Any<PathSubsegment>(seg => (seg is ParameterSubsegment) && (((ParameterSubsegment)seg).IsCatchAll));
}
}
public IList<PathSubsegment> Subsegments {
get;
private set;
}
#if ROUTE_DEBUGGING
public override string LiteralText {
get {
List<string> s = new List<string>();
foreach (PathSubsegment subsegment in Subsegments) {
s.Add(subsegment.LiteralText);
}
return String.Join(String.Empty, s.ToArray());
}
}
public override string ToString() {
List<string> s = new List<string>();
foreach (PathSubsegment subsegment in Subsegments) {
s.Add(subsegment.ToString());
}
return "[ " + String.Join(", ", s.ToArray()) + " ]";
}
#endif
}
}