@Test public void testVisitCommunitySetMatchAny() { assertFalse(new CommunitySetMatchAny(ImmutableList.of()).accept(EVAL, CommunitySet.empty())); CommunitySetMatchAny twoOneMatchable = new CommunitySetMatchAny( ImmutableList.of( new HasCommunity(AllStandardCommunities.instance()), new CommunitySetNot(new HasCommunity(AllStandardCommunities.instance())))); assertTrue(twoOneMatchable.accept(EVAL, CommunitySet.empty())); assertTrue(twoOneMatchable.accept(EVAL, CommunitySet.of(StandardCommunity.of(1L)))); CommunitySetMatchAny twoBothMatchable = new CommunitySetMatchAny( ImmutableList.of( new HasCommunity(AllStandardCommunities.instance()), new HasCommunity(AllExtendedCommunities.instance()))); assertTrue( twoBothMatchable.accept( EVAL, CommunitySet.of(StandardCommunity.of(1L), ExtendedCommunity.of(1, 1L, 1L)))); assertFalse(twoBothMatchable.accept(EVAL, CommunitySet.empty())); }
@Override public @Nonnull Boolean visitCommunitySetMatchAny( CommunitySetMatchAny communitySetMatchAny, CommunitySet arg) { return communitySetMatchAny.getExprs().stream().anyMatch(expr -> expr.accept(this, arg)); }
CommunitySetMatchExprEvaluator implements CommunitySetMatchExprVisitor<Boolean, CommunitySet> { @Override public @Nonnull Boolean visitCommunitySetMatchAny( CommunitySetMatchAny communitySetMatchAny, CommunitySet arg) { return communitySetMatchAny.getExprs().stream().anyMatch(expr -> expr.accept(this, arg)); } }
CommunitySetMatchExprEvaluator implements CommunitySetMatchExprVisitor<Boolean, CommunitySet> { @Override public @Nonnull Boolean visitCommunitySetMatchAny( CommunitySetMatchAny communitySetMatchAny, CommunitySet arg) { return communitySetMatchAny.getExprs().stream().anyMatch(expr -> expr.accept(this, arg)); } CommunitySetMatchExprEvaluator(CommunityContext ctx); }
CommunitySetMatchExprEvaluator implements CommunitySetMatchExprVisitor<Boolean, CommunitySet> { @Override public @Nonnull Boolean visitCommunitySetMatchAny( CommunitySetMatchAny communitySetMatchAny, CommunitySet arg) { return communitySetMatchAny.getExprs().stream().anyMatch(expr -> expr.accept(this, arg)); } CommunitySetMatchExprEvaluator(CommunityContext ctx); @Override @Nonnull Boolean visitCommunitySetAcl(CommunitySetAcl communitySetAcl, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchAll(
      CommunitySetMatchAll communitySetMatchAll, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchAny(
      CommunitySetMatchAny communitySetMatchAny, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchExprReference(
      CommunitySetMatchExprReference communitySetMatchExprReference, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchRegex(
      CommunitySetMatchRegex communitySetMatchRegex, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetNot(CommunitySetNot communitySetNot, CommunitySet arg); @Override @Nonnull Boolean visitHasCommunity(HasCommunity hasCommunity, CommunitySet arg); }
CommunitySetMatchExprEvaluator implements CommunitySetMatchExprVisitor<Boolean, CommunitySet> { @Override public @Nonnull Boolean visitCommunitySetMatchAny( CommunitySetMatchAny communitySetMatchAny, CommunitySet arg) { return communitySetMatchAny.getExprs().stream().anyMatch(expr -> expr.accept(this, arg)); } CommunitySetMatchExprEvaluator(CommunityContext ctx); @Override @Nonnull Boolean visitCommunitySetAcl(CommunitySetAcl communitySetAcl, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchAll(
      CommunitySetMatchAll communitySetMatchAll, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchAny(
      CommunitySetMatchAny communitySetMatchAny, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchExprReference(
      CommunitySetMatchExprReference communitySetMatchExprReference, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetMatchRegex(
      CommunitySetMatchRegex communitySetMatchRegex, CommunitySet arg); @Override @Nonnull Boolean visitCommunitySetNot(CommunitySetNot communitySetNot, CommunitySet arg); @Override @Nonnull Boolean visitHasCommunity(HasCommunity hasCommunity, CommunitySet arg);  }