Class SerializerArtifact

    • Constructor Detail

      • SerializerArtifact

        public SerializerArtifact​(Artifact parent,
                                  String name,
                                  String ext,
                                  ArtifactType type,
                                  Serializer serializer,
                                  long lastModified)
        Constructs a new artifact that is based on a content serializer.
        Parameters:
        parent - the parent artifact
        name - the name of the artifact
        ext - the extension of the artifact
        type - the type of the artifact
        serializer - the serializer to use for the content
        lastModified - the last modified date
        Throws:
        IllegalArgumentException - if the type is not suitable.
    • Method Detail

      • getSerializationType

        public SerializationType getSerializationType()
        Returns the serialization type of this artifact.
        Specified by:
        getSerializationType in interface Artifact
        Returns:
        the serialization type of this artifact.
      • spool

        public void spool​(OutputStream out)
                   throws IOException,
                          RepositoryException
        Writes the content to the given output stream and closes it afterwards. This is the preferred method to use for output-artifacts.

        The specified stream remains open after this method returns.

        Specified by:
        spool in interface Artifact
        Overrides:
        spool in class org.apache.jackrabbit.vault.fs.impl.AbstractArtifact
        Parameters:
        out - the output stream to spool to
        Throws:
        IOException - if an I/O error occurs
        RepositoryException - if a repository error occurs
      • getContentType

        public String getContentType()
        Returns the content type of the serialized data or null if the type is not known or cannot be determined.
        Specified by:
        getContentType in interface Artifact
        Overrides:
        getContentType in class org.apache.jackrabbit.vault.fs.impl.AbstractArtifact
        Returns:
        the content type or null.
      • getContentLength

        public long getContentLength()
        Returns the length of the serialized data if it's known without doing the actual serialization.
        Specified by:
        getContentLength in interface Artifact
        Returns:
        the length or -1 if the length cannot be determined.
      • getLastModified

        public long getLastModified()
        Returns the last modified date or 0 if not known.
        Specified by:
        getLastModified in interface Artifact
        Returns:
        the last modified date or 0