예제 #1
0
 public HandlerAxis(IHandlerAxis handler, TraversingAxis axis)
 {
     if (handler == null)
     {
         throw new ArgumentNullException(nameof(handler));
     }
     _handler = handler;
     _axis    = axis;
 }
예제 #2
0
 public static IHandlerAxis DescendantReverse(this IHandlerAxis handler)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, TraversingAxis.DescendantReverse));
 }
예제 #3
0
 public static IHandlerAxis Ancestor(this IHandlerAxis handler)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, TraversingAxis.Ancestor));
 }
예제 #4
0
 public static IHandlerAxis Sibling(this IHandlerAxis handler)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, TraversingAxis.Sibling));
 }
예제 #5
0
 public static IHandlerAxis Child(this IHandlerAxis handler)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, TraversingAxis.Child));
 }
예제 #6
0
 public static IHandlerAxis Root(this IHandlerAxis handler)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, TraversingAxis.Root));
 }
예제 #7
0
 public static IHandler Publish(this IHandlerAxis handler)
 {
     return(handler.SelfDescendant().Notify());
 }
예제 #8
0
 public static IHandlerAxis Axis(
     this IHandlerAxis handler, TraversingAxis axis)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, axis));
 }
예제 #9
0
 public static IHandlerAxis SelfDescendant(this IHandlerAxis handler)
 {
     return(handler == null ? null
          : new HandlerAxis(handler, TraversingAxis.SelfOrDescendant));
 }