Пример #1
0
    @Override
    public final int defaultStartIdx(FilterChainContext context) {
      if (context.getFilterIdx() != FilterChainContext.NO_FILTER_INDEX) {
        return context.getFilterIdx();
      }

      context.setFilterIdx(0);
      return 0;
    }
Пример #2
0
    @Override
    public final int defaultStartIdx(FilterChainContext context) {
      if (context.getFilterIdx() != FilterChainContext.NO_FILTER_INDEX) {
        return context.getFilterIdx();
      }

      final int idx = context.getFilterChain().size() - 1;
      context.setFilterIdx(idx);
      return idx;
    }
Пример #3
0
 public static FilterExecutor resolve(final FilterChainContext context) {
   switch (context.getOperation()) {
     case READ:
       return READ_EXECUTOR;
     case WRITE:
       return WRITE_EXECUTOR;
     case ACCEPT:
       return ACCEPT_EXECUTOR;
     case CLOSE:
       return CLOSE_EXECUTOR;
     case CONNECT:
       return CONNECT_EXECUTOR;
     case EVENT:
       return (context.getFilterIdx() == FilterChainContext.NO_FILTER_INDEX
               || context.getStartIdx() <= context.getEndIdx())
           ? EVENT_UPSTREAM_EXECUTOR
           : EVENT_DOWNSTREAM_EXECUTOR;
     default:
       return null;
   }
 }
Пример #4
0
 @Override
 public final int getPreviousFilter(FilterChainContext context) {
   return context.getFilterIdx() + 1;
 }
Пример #5
0
 @Override
 public final int getNextFilter(FilterChainContext context) {
   return context.getFilterIdx() - 1;
 }