Class AVideo

  • All Implemented Interfaces:
    java.io.Serializable, Media, Video

    public class AVideo
    extends java.lang.Object
    implements Video, java.io.Serializable
    Represents a video.

    it is used to retrieve and store the opaque data as polymorphic thru the Media interface.

    AVideo is serializable, but, if you are using InputStream, you have to extend this class, and provide the implementation to serialize and deserialize _isdata.

    Since:
    8.6.0
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.io.InputStream _isdata
      The raw data in stream (or DYNAMIC_STREAM).
      protected static java.io.InputStream DYNAMIC_STREAM
      Used if you want to implement a media whose input stream is created dynamically each time getStreamData() is called.
    • Constructor Summary

      Constructors 
      Constructor Description
      AVideo​(java.io.File file)
      Constructs a video with a file.
      AVideo​(java.io.InputStream is)
      Creates an instance of a video with an input stream.
      AVideo​(java.lang.String filename)
      Constructs a video with a file name.
      AVideo​(java.lang.String name, byte[] data)  
      AVideo​(java.lang.String name, java.io.InputStream isdata)
      Creates an instance of a video with an input stream.
      AVideo​(java.net.URL url)
      Constructs a video with an URL.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getByteData()
      Returns the raw data in byte array.
      java.lang.String getContentType()
      Returns the content type, e.g., "image/jpeg", or null if not available.
      java.lang.String getFormat()
      Returns the format name, e.g., "jpeg", or null if not available.
      java.lang.String getName()
      Returns the name (usually filename) of this media, or null if not available.
      java.io.Reader getReaderData()
      Not supported.
      java.io.InputStream getStreamData()
      Returns the data in the input stream.
      java.lang.String getStringData()
      Always throws IllegalStateException.
      boolean inMemory()
      Returns whether the data is cached in memory (in form of byte[] or String).
      boolean isBinary()
      Returns whether the format of this content is binary or text-based.
      boolean isContentDisposition()
      Whether to allow Content-Disposition or not when writing the media to response header.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DYNAMIC_STREAM

        protected static final java.io.InputStream DYNAMIC_STREAM
        Used if you want to implement a media whose input stream is created dynamically each time getStreamData() is called.
        See Also:
        AVideo(String, InputStream)
      • _isdata

        protected final transient java.io.InputStream _isdata
        The raw data in stream (or DYNAMIC_STREAM). Exactly one of _data and _isdata is not null.
    • Constructor Detail

      • AVideo

        public AVideo​(java.lang.String name,
                      byte[] data)
               throws java.io.IOException
        Throws:
        java.io.IOException
      • AVideo

        public AVideo​(java.lang.String name,
                      java.io.InputStream isdata)
               throws java.io.IOException
        Creates an instance of a video with an input stream. If the stream shall be created each time getStreamData() is called, you can pass DYNAMIC_STREAM to the data argument, and then override getStreamData().

        Note: the caller of getStreamData() has to close the returned input stream.

        Throws:
        java.io.IOException
      • AVideo

        public AVideo​(java.net.URL url)
        Constructs a video with an URL.
      • AVideo

        public AVideo​(java.io.File file)
        Constructs a video with a file.
      • AVideo

        public AVideo​(java.lang.String filename)
               throws java.io.IOException
        Constructs a video with a file name.
        Throws:
        java.io.IOException
      • AVideo

        public AVideo​(java.io.InputStream is)
               throws java.io.IOException
        Creates an instance of a video with an input stream. If the stream shall be created each time getStreamData() is called, you can pass DYNAMIC_STREAM to the data argument, and then override getStreamData().

        Note: the caller of getStreamData() has to close the returned input stream.

        Throws:
        java.io.IOException