Class Resource

java.lang.Object
net.adoptopenjdk.icedteaweb.resources.Resource

public class Resource extends Object

Information about a single resource to download. This class tracks the downloading of various resources of a JNLP file to local files. It can be used to download icons, jnlp and extension files, jars, and jardiff files using the version based protocol or any file using the basic download protocol.

Resources can be put into download groups by specifying a part name for the resource. The resource tracker can also be configured to prefetch resources, which are downloaded in the order added to the media tracker.

Version:
$Revision: 1.9 $
  • Field Details

    • resources

      private static final WeakList<Resource> resources
      list of weak references of resources currently in use
    • SIZE_PROPERTY

      public static final String SIZE_PROPERTY
      See Also:
    • TRANSFERRED_PROPERTY

      public static final String TRANSFERRED_PROPERTY
      See Also:
    • propertyChangeSupport

      private final PropertyChangeSupport propertyChangeSupport
    • location

      private final URL location
      the remote location of the resource
    • requestVersion

      private final VersionString requestVersion
      the requested version
    • updatePolicy

      private final UpdatePolicy updatePolicy
      Update policy for this resource
    • downloadOptions

      private final DownloadOptions downloadOptions
      Download options for this resource
    • localFile

      private File localFile
      the local file downloaded to
    • transferred

      private volatile long transferred
      amount in bytes transferred
    • size

      private volatile long size
      total size of the resource, or -1 if unknown
    • futureForDownloaded

      private volatile Future<Resource> futureForDownloaded
      A future to wait for completion of download of this resource
    • status

      private volatile ResourceStatus status
      the status of the resource
  • Constructor Details

  • Method Details

    • addPropertyChangeListener

      public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
    • createOrGetResource

      static Resource createOrGetResource(URL location, VersionString requestVersion, DownloadOptions downloadOptions, UpdatePolicy updatePolicy)
      Creates and returns a shared Resource object representing the given location and version.
      Parameters:
      location - final location of resource
      requestVersion - final version of resource
      downloadOptions - hint for downloading
      updatePolicy - final policy for updating
      Returns:
      new resource, which is already added in resources list
    • getLocation

      public URL getLocation()
      Returns the remote location of the resource.
      Returns:
      the same location as the one with which this resource was created
    • getLocalFile

      File getLocalFile()
      Returns:
      the local file currently being downloaded
    • setLocalFile

      public void setLocalFile(File localFile)
      Sets the local file to be downloaded
      Parameters:
      localFile - location of stored resource
    • getRequestVersion

      public VersionString getRequestVersion()
      Returns:
      the requested version
    • getTransferred

      long getTransferred()
      Returns:
      the amount in bytes transferred
    • setTransferred

      public void setTransferred(long transferred)
      Sets the amount transferred
      Parameters:
      transferred - set the whole transferred amount to this value
    • getSize

      public long getSize()
      Returns the size of the resource
      Returns:
      size of resource (-1 if unknown)
    • setSize

      public void setSize(long size)
      Sets the size of the resource
      Parameters:
      size - desired size of resource
    • isBeingProcessed

      boolean isBeingProcessed()
    • hasStatus

      boolean hasStatus(ResourceStatus flag)
      Check if the specified flag is set.
      Parameters:
      flag - a status flag
      Returns:
      true iff the flag is set
    • isComplete

      boolean isComplete()
    • getUpdatePolicy

      public UpdatePolicy getUpdatePolicy()
      Returns:
      the update policy for this resource
    • forceUpdateRequested

      public boolean forceUpdateRequested()
    • setStatus

      public void setStatus(ResourceStatus status)
      Changes the status.
      Parameters:
      status - a collection of status flags to set
    • getDownloadOptions

      public DownloadOptions getDownloadOptions()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • toString

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

      public String getSimpleName()
    • putIntoCache

      Future<Resource> putIntoCache(Executor downloadExecutor)