Class 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
    • Field Detail

      • deplLogger

        public static final Logger deplLogger
    • Method Detail

      • get

        public static Artifacts get​(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:
      • record

        public void record​(DeploymentContext dc)
        Records the Artifacts object into the specified deployment context.
        Parameters:
        dc - the DeploymentContent in which to persist the Artifacts object
      • 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:
        app - the application of interest
        keyPrefix - type of artifacts of interest (e.g., downloadable, generated)
        Returns:
      • 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)
      • 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,
                                String part,
                                boolean isTemporary)
      • addArtifact

        public void addArtifact​(URI full,
                                URI part)
        Adds an artifact.
        Parameters:
        full -
        part -
      • addArtifacts

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

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