Class Artifacts

java.lang.Object
org.glassfish.deployment.common.Artifacts

public class Artifacts extends Object
Records information about artifacts (files) that a deployer might need to track. For example, a deployer might generate artifacts as it runs, and these might need to be cleaned up at some point. Also, a deployer might need to flag certain files for download to the client as part of "deploy --retrieve" or "get-client-stubs."

Artifacts can be recorded into a DeploymentContext or into a Properties object. Storing into a Properties object would normally be to store the Artifacts into the application properties of an Application object so they can be persisted into domain.xml. The property names are (keyPrefix)Artifact.(partURI) and the value is the corresponding fullURI.

Artifacts can also be optionally marked as temporary. The intent is that such artifacts will be deleted after they are placed into the response payload for download.

Author:
Tim Quinn
  • Method Details

    • record

      public void record(org.glassfish.api.deployment.DeploymentContext dc)
      Records the Artifacts object into the specified deployment context.
      Parameters:
      dc - the DeploymentContent in which to persist the Artifacts object
    • addArtifact

      public void addArtifact(URI full, String part)
      Adds an artifact.
      Parameters:
      full - the full URI to the file to be tracked
      part - the (typically) relative URI, expressed as a String, to be associated with the part
    • addArtifact

      public void addArtifact(URI full, URI part)
      Adds an artifact.
      Parameters:
      full - the full URI to the file to be tracked
      part - the (typically) relative URI to be associated with the part
    • addArtifact

      public void addArtifact(URI full, URI part, boolean isTemporary)
      Adds an artifact.
      Parameters:
      full - the full URI to the file to be tracked
      part - the (typically) relative URI to be associated with the part
      isTemporary - whether the artifact can be deleted once it is added to an output stream (typically for download) (a frequent use of Artifacts is for working with Payloads which are composed of parts - hence the "part" term)
    • addArtifacts

      public void addArtifacts(Collection<Artifacts.FullAndPartURIs> urisCollection)
      Adds multiple artifacts at once.
      Parameters:
      urisCollection - the URI pairs to add
    • getArtifacts

      public Set<Artifacts.FullAndPartURIs> getArtifacts()
      Returns:
      the actual artifacts tracked - the part URI and the full URI
    • record

      public void record(Properties props) throws URISyntaxException
      Records the artifacts in the provided Properties object.
      Parameters:
      props -
      Throws:
      URISyntaxException
    • clearArtifacts

      public void clearArtifacts()
      Clears the URI pairs recorded in this Artifacts object.
    • get

      public static Artifacts get(org.glassfish.api.deployment.DeploymentContext dc, String keyPrefix)
      Returns the Artifacts object from the deployment context with the sepcified key prefix, creating a new one and storing it in the DC if no matching Artifacts object already exists.
      Parameters:
      dc - the deployment context
      keyPrefix - key prefix by which to look up or store the artifacts
      Returns:
      never null
    • get

      public static Artifacts get(Properties props, String keyPrefix)
      Gets the artifacts matching the key prefix from the application properties of the specified application.
      Parameters:
      props -
      keyPrefix - type of artifacts of interest (e.g., downloadable, generated)
      Returns:
      never null