## com.google.gwt.core.ext.linker
Class ArtifactSet

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

All Implemented Interfaces:
  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<?>>

Provides stable ordering and de-duplication of artifacts.

Constructor Summary
`ArtifactSet()`
`ArtifactSet(java.util.Collection<? extends Artifact<?>> copyFrom)`

Method Summary
`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)`

`

`<A extends Artifact<?>,T extends A> java.util.SortedSet<A>`

`

`find(java.lang.Class<T> artifactType)`
Find all Artifacts assignable to some base type.

`Artifact<?>` `first()`
`void` `freeze()` Prevent further modification of the 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)`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

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 <A extends Artifact<?>,T extends A> java.util.SortedSet<A> 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. The following two examples result in an equivalent set:

       SortedSet<EmittedArtifact> search = artifactSet.find(PublicResource.class);
       search.addAll(artifactSet.find(GeneratedResource.class);

  or

       SortedSet<EmittedArtifact> search = artifactSet.find(EmittedArtifact.class);

  Type Parameters:
    `A` - a type bound possibly wider than the desired type of artifact
    `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 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<?>>`