Package org.stianloader.picoresolve.exclusion

# Class ExclusionContainer<T extends Excluder>

java.lang.Object
org.stianloader.picoresolve.exclusion.ExclusionContainer<T>

Type Parameters:
  `T` - The type of accepted `Excluders`. Mainly used for sanity checking when paired with `ExclusionContainer.ExclusionMode.ALL`, which makes no sense when used with any `Exclusion` as a subordinate `Excluder`.

All Implemented Interfaces:
  `Excluder`

public class ExclusionContainer<T extends Excluder> extends Object implements Excluder
An `Excluder` that combines multiple `Excluders` into one.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`ExclusionContainer.ExclusionMode`
The `ExclusionContainer.ExclusionMode` of a `ExclusionContainer` defines the behaviour to use for negotiating the behaviour of multiple subordinate `Excluders`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final @NotNull ExclusionContainer<?>`
`EMPTY`

## Constructor Summary

Constructors
Constructor
Description
`ExclusionContainer(@NotNull ExclusionContainer.ExclusionMode mode)`
`ExclusionContainer(@NotNull ExclusionContainer.ExclusionMode mode, @NotNull Collection<@NotNull ? extends T> exclusions, boolean mutable)`

## Method Summary

Modifier and Type
Method
Description
`ExclusionContainer<T>`
`addChild(T child)`
`static <T extends Excluder>
@NotNull ExclusionContainer<T>`
`empty()`
`@NotNull ExclusionContainer.ExclusionMode`
`getMode()`
`boolean`
`isExcluding(String group, String artifact)`
`boolean`
`isMutable()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### EMPTY

@NotNull public static final @NotNull ExclusionContainer<?> EMPTY

## Constructor Details

### ExclusionContainer

public ExclusionContainer(@NotNull @NotNull ExclusionContainer.ExclusionMode mode)

### ExclusionContainer

public ExclusionContainer(@NotNull @NotNull ExclusionContainer.ExclusionMode mode, @NotNull @NotNull Collection<@NotNull ? extends T> exclusions, boolean mutable)

## Method Details

### empty

@NotNull public static <T extends Excluder> @NotNull ExclusionContainer<T> empty()

### addChild

public ExclusionContainer<T> addChild(@NotNull T child)

### getMode

@Contract(pure=true) @NotNull public @NotNull ExclusionContainer.ExclusionMode getMode()

### isExcluding

public boolean isExcluding(String group, String artifact)

Specified by:
  `isExcluding` in interface `Excluder`

### isMutable

@Contract(pure=true) public boolean isMutable()