Class Artifact<C extends Artifact<C>>

java.lang.Object
com.google.gwt.core.ext.linker.Artifact<C>
Type Parameters:
C - The type of Artifact interface that the Artifact can be compared to.
All Implemented Interfaces:
Serializable, Comparable<Artifact<?>>
Direct Known Subclasses:
CompilationMetricsArtifact, CompilationResult, EmittedArtifact, ModuleMetricsArtifact, PrecompilationMetricsArtifact, RpcLogArtifact, RpcPolicyFileArtifact, ScriptReference, StylesheetReference, SymbolMapsLinker.ScriptFragmentEditsArtifact

public abstract class Artifact<C extends Artifact<C>> extends Object implements Comparable<Artifact<?>>, Serializable
A base type for all artifacts relating to the link process. In order to ensure stable output between runs of the compiler, Artifact types must implement a stable comparison between instances of a relevant base type (the exact comparison order is irrelevant).
See Also:
  • Constructor Details

    • Artifact

      protected Artifact(Class<? extends Linker> linker)
      Constructor.
      Parameters:
      linker - the type of Linker that instantiated the Artifact.
  • Method Details

    • compareTo

      public final int compareTo(Artifact<?> o)
      Specified by:
      compareTo in interface Comparable<C extends Artifact<C>>
    • equals

      public final boolean equals(Object obj)
      Delegates to compareTo(Artifact).
      Overrides:
      equals in class Object
    • getLinker

      public final Class<? extends Linker> getLinker()
      Returns the Linker that created the Artifact.
    • hashCode

      public abstract int hashCode()
      The class which is returned from getComparableArtifactType() must declare a final implementation which returns the same hash code for objects for which compareToComparableArtifact(Artifact) returns 0.
      Overrides:
      hashCode in class Object
    • isTransferableFromShards

      public final boolean isTransferableFromShards()
      Returns whether the Transferable annotation is present on this class. See Transferable for the implications.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compareToComparableArtifact

      protected abstract int compareToComparableArtifact(C o)
      Performs comparison with an artifact of a compatible base type. Objects which compare to 0 are assumed equal, and must return the same hashCode().
    • getComparableArtifactType

      protected abstract Class<C> getComparableArtifactType()
      Returns the base type to use for comparisons between Artifacts. All concrete implementations of this methods must be final.