public CumulativePermission clear(Permission permission) { this.mask &= ~permission.getMask(); this.pattern = AclFormattingUtils.demergePatterns(this.pattern, permission.getPattern()); return this; }
@Test public final void testDemergePatterns() throws Exception { String original = "...........................A...R"; String removeBits = "...............................R"; assertThat(AclFormattingUtils.demergePatterns(original, removeBits)).isEqualTo( "...........................A...."); assertThat(AclFormattingUtils.demergePatterns("ABCDEF", "......")).isEqualTo( "ABCDEF"); assertThat(AclFormattingUtils.demergePatterns("ABCDEF", "GHIJKL")).isEqualTo( "......"); }
@Test public final void testDemergePatternsParametersConstraints() throws Exception { try { AclFormattingUtils.demergePatterns(null, "SOME STRING"); fail("It should have thrown IllegalArgumentException"); } catch (IllegalArgumentException expected) { } try { AclFormattingUtils.demergePatterns("SOME STRING", null); fail("It should have thrown IllegalArgumentException"); } catch (IllegalArgumentException expected) { } try { AclFormattingUtils.demergePatterns("SOME STRING", "LONGER SOME STRING"); fail("It should have thrown IllegalArgumentException"); } catch (IllegalArgumentException expected) { } try { AclFormattingUtils.demergePatterns("SOME STRING", "SAME LENGTH"); } catch (IllegalArgumentException notExpected) { fail("It shouldn't have thrown IllegalArgumentException"); } }
public CumulativePermission clear(Permission permission) { this.mask &= ~permission.getMask(); this.pattern = AclFormattingUtils.demergePatterns(this.pattern, permission.getPattern()); return this; }
public Builder remove(Permission permission) { this.mask &= ~permission.getMask(); this.pattern = AclFormattingUtils.demergePatterns(this.pattern, permission.getPattern()); return this; }