package com.github.dreamhead.moco.matcher; import com.github.dreamhead.moco.MocoConfig; import com.github.dreamhead.moco.Request; import com.github.dreamhead.moco.RequestMatcher; public class NotRequestMatcher extends AbstractRequestMatcher { private final RequestMatcher matcher; public NotRequestMatcher(final RequestMatcher matcher) { this.matcher = matcher; } @Override public boolean match(final Request request) { return !matcher.match(request); } @Override @SuppressWarnings("unchecked") public RequestMatcher doApply(final MocoConfig config) { RequestMatcher appliedMatcher = matcher.apply(config); if (appliedMatcher == this.matcher) { return this; } return new NotRequestMatcher(appliedMatcher); } }