com.google.gwt.core.ext.linker

## Class ArtifactSet

- java.lang.Object
- - com.google.gwt.core.ext.linker.ArtifactSet

All Implemented Interfaces:
  java.io.Serializable, java.lang.Iterable<Artifact<?>>, java.util.Collection<Artifact<?>>, java.util.Set<Artifact<?>>, java.util.SortedSet<Artifact<?>>

    public final class ArtifactSet
    extends java.lang.Object
    implements java.util.SortedSet<Artifact<?>>, java.io.Serializable

Provides stable ordering and de-duplication of artifacts.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ArtifactSet()`
`ArtifactSet(java.util.Collection<? extends Artifact<?>> copyFrom)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `add(Artifact<?> o)`
`boolean` `addAll(java.util.Collection<? extends Artifact<?>> c)`
`void` `clear()`
`java.util.Comparator<? super Artifact<?>>` `comparator()`
`boolean` `contains(java.lang.Object o)`
`boolean` `containsAll(java.util.Collection<?> c)`
`boolean` `equals(java.lang.Object o)`
`<T extends Artifact<? super T>> java.util.SortedSet<T>` `find(java.lang.Class<T> artifactType)` Find all Artifacts assignable to some base type.
`Artifact<?>` `first()`
`void` `freeze()` Prevent further modification of the ArtifactSet.
`int` `hashCode()`
`java.util.SortedSet<Artifact<?>>` `headSet(Artifact<?> toElement)`
`boolean` `isEmpty()`
`java.util.Iterator<Artifact<?>>` `iterator()`
`Artifact<?>` `last()`
`boolean` `remove(java.lang.Object o)`
`boolean` `removeAll(java.util.Collection<?> c)`
`boolean` `replace(Artifact<?> artifact)` Possibly replace an existing Artifact.
`boolean` `retainAll(java.util.Collection<?> c)`
`int` `size()`
`java.util.SortedSet<Artifact<?>>` `subSet(Artifact<?> fromElement, Artifact<?> toElement)`
`java.util.SortedSet<Artifact<?>>` `tailSet(Artifact<?> fromElement)`
`java.lang.Object[]` `toArray()`
`<T> T[]` `toArray(T[] a)`
`java.lang.String` `toString()`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.SortedSet

`spliterator`

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Constructor Detail

#### ArtifactSet

    public ArtifactSet()

#### ArtifactSet

    public ArtifactSet(java.util.Collection<? extends Artifact<?>> copyFrom)

### Method Detail

#### add

    public boolean add(Artifact<?> o)

Specified by:
  `add` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `add` in interface `java.util.Set<Artifact<?>>`

#### addAll

    public boolean addAll(java.util.Collection<? extends Artifact<?>> c)

Specified by:
  `addAll` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `addAll` in interface `java.util.Set<Artifact<?>>`

#### clear

    public void clear()

Specified by:
  `clear` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `clear` in interface `java.util.Set<Artifact<?>>`

#### comparator

    public java.util.Comparator<? super Artifact<?>> comparator()

Specified by:
  `comparator` in interface `java.util.SortedSet<Artifact<?>>`

#### contains

    public boolean contains(java.lang.Object o)

Specified by:
  `contains` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `contains` in interface `java.util.Set<Artifact<?>>`

#### containsAll

    public boolean containsAll(java.util.Collection<?> c)

Specified by:
  `containsAll` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `containsAll` in interface `java.util.Set<Artifact<?>>`

#### equals

    public boolean equals(java.lang.Object o)

Specified by:
  `equals` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `equals` in interface `java.util.Set<Artifact<?>>`
Overrides:
  `equals` in class `java.lang.Object`

#### find

    public <T extends Artifact<? super T>> java.util.SortedSet<T> find(java.lang.Class<T> artifactType)

Find all Artifacts assignable to some base type. The returned value will be a snapshot of the values in the ArtifactSet. An example of how this could be used:

       for (EmittedArtifact ea : artifactSet.find(EmittedArtifact.class)) {
         ...
       }

Type Parameters:
  `T` - the desired type of Artifact
Parameters:
  `artifactType` - the desired type of Artifact
Returns:
  all Artifacts in the ArtifactSet assignable to the desired type

#### first

    public Artifact<?> first()

Specified by:
  `first` in interface `java.util.SortedSet<Artifact<?>>`

#### freeze

    public void freeze()

Prevent further modification of the ArtifactSet. Any attempts to alter the ArtifactSet after invoking this method will result in an UnsupportedOperationException.

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `hashCode` in interface `java.util.Set<Artifact<?>>`
Overrides:
  `hashCode` in class `java.lang.Object`

#### headSet

    public java.util.SortedSet<Artifact<?>> headSet(Artifact<?> toElement)

Specified by:
  `headSet` in interface `java.util.SortedSet<Artifact<?>>`

#### isEmpty

    public boolean isEmpty()

Specified by:
  `isEmpty` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `isEmpty` in interface `java.util.Set<Artifact<?>>`

#### iterator

    public java.util.Iterator<Artifact<?>> iterator()

Specified by:
  `iterator` in interface `java.lang.Iterable<Artifact<?>>`
Specified by:
  `iterator` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `iterator` in interface `java.util.Set<Artifact<?>>`

#### last

    public Artifact<?> last()

Specified by:
  `last` in interface `java.util.SortedSet<Artifact<?>>`

#### remove

    public boolean remove(java.lang.Object o)

Specified by:
  `remove` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `remove` in interface `java.util.Set<Artifact<?>>`

#### removeAll

    public boolean removeAll(java.util.Collection<?> c)

Specified by:
  `removeAll` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `removeAll` in interface `java.util.Set<Artifact<?>>`

#### replace

    public boolean replace(Artifact<?> artifact)

Possibly replace an existing Artifact.

Parameters:
  `artifact` - the replacement Artifact
Returns:
  `true` if an equivalent Artifact was already present.

#### retainAll

    public boolean retainAll(java.util.Collection<?> c)

Specified by:
  `retainAll` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `retainAll` in interface `java.util.Set<Artifact<?>>`

#### size

    public int size()

Specified by:
  `size` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `size` in interface `java.util.Set<Artifact<?>>`

#### subSet

    public java.util.SortedSet<Artifact<?>> subSet(Artifact<?> fromElement,
                                                   Artifact<?> toElement)

Specified by:
  `subSet` in interface `java.util.SortedSet<Artifact<?>>`

#### tailSet

    public java.util.SortedSet<Artifact<?>> tailSet(Artifact<?> fromElement)

Specified by:
  `tailSet` in interface `java.util.SortedSet<Artifact<?>>`

#### toArray

    public java.lang.Object[] toArray()

Specified by:
  `toArray` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `toArray` in interface `java.util.Set<Artifact<?>>`

#### toArray

    public <T> T[] toArray(T[] a)

Specified by:
  `toArray` in interface `java.util.Collection<Artifact<?>>`
Specified by:
  `toArray` in interface `java.util.Set<Artifact<?>>`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`