Class ModelArchiveWriter
java.lang.Object
org.apache.sling.provisioning.model.io.ModelArchiveWriter
The model archive writer can be used to create an archive based on a model
The archive contains the model file and all artifacts.
- Since:
- 1.3
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Current support version of the model archive.static final String
Artifacts prefix.static final String
Default extension for model archives.static final String
The manifest header marking an archive as a model archive.static final String
Model name. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic JarOutputStream
write
(OutputStream out, Model model, Manifest baseManifest, ModelArchiveWriter.ArtifactProvider provider) Create a model archive.
-
Field Details
-
MANIFEST_HEADER
The manifest header marking an archive as a model archive.- See Also:
-
ARCHIVE_VERSION
public static final int ARCHIVE_VERSIONCurrent support version of the model archive.- See Also:
-
DEFAULT_EXTENSION
Default extension for model archives.- See Also:
-
MODEL_NAME
Model name.- See Also:
-
ARTIFACTS_PREFIX
Artifacts prefix.- See Also:
-
-
Constructor Details
-
ModelArchiveWriter
public ModelArchiveWriter()
-
-
Method Details
-
write
public static JarOutputStream write(OutputStream out, Model model, Manifest baseManifest, ModelArchiveWriter.ArtifactProvider provider) throws IOException Create a model archive. The output stream will not be closed by this method. The caller must callZipOutputStream.close()
orZipOutputStream.finish()
on the return output stream. The caller can add additional files through the return stream. In order to create an archive for a model, each feature in the model must have a name and a version and the model must be valid, thereforeModelUtility.validateIncludingVersion(Model)
is called first. If the model is invalid anIOException
is thrown.- Parameters:
out
- The output stream to write tomodel
- The model to writebaseManifest
- Optional base manifest used for creating the manifest.provider
- The artifact provider- Returns:
- The jar output stream.
- Throws:
IOException
- If anything goes wrong
-