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
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intCurrent support version of the model archive.static final StringArtifacts prefix.static final StringDefault extension for model archives.static final StringThe manifest header marking an archive as a model archive.static final StringModel name. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic JarOutputStreamwrite(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 anIOExceptionis 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
-