public class AVideo extends Object implements Video, Serializable
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.
| Modifier and Type | Field and Description |
|---|---|
protected InputStream |
_isdata
The raw data in stream (or
DYNAMIC_STREAM). |
protected static InputStream |
DYNAMIC_STREAM
Used if you want to implement a media whose input stream is created
dynamically each time
getStreamData() is called. |
| Constructor and Description |
|---|
AVideo(File file)
Constructs a video with a file.
|
AVideo(InputStream is)
Creates an instance of a video with an input stream.
|
AVideo(String filename)
Constructs a video with a file name.
|
AVideo(String name,
byte[] data) |
AVideo(String name,
InputStream isdata)
Creates an instance of a video with an input stream.
|
AVideo(URL url)
Constructs a video with an URL.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
getByteData()
Returns the raw data in byte array.
|
String |
getContentType()
Returns the content type, e.g., "image/jpeg", or null if not available.
|
String |
getFormat()
Returns the format name, e.g., "jpeg", or null if not available.
|
String |
getName()
Returns the name (usually filename) of this media, or null
if not available.
|
Reader |
getReaderData()
Not supported.
|
InputStream |
getStreamData()
Returns the data in the input stream.
|
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.
|
protected static final InputStream DYNAMIC_STREAM
getStreamData() is called.AVideo(String, InputStream)protected final transient InputStream _isdata
public AVideo(String name, byte[] data) throws IOException
IOExceptionpublic AVideo(String name, InputStream isdata) throws IOException
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.
IOExceptionpublic AVideo(URL url)
public AVideo(File file)
public AVideo(String filename) throws IOException
IOExceptionpublic AVideo(InputStream is) throws IOException
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.
IOExceptionpublic String getName()
Mediapublic String getContentType()
MediagetContentType in interface MediaMedia.getFormat()public InputStream getStreamData()
Note: the caller has to invoke InputStream.close()
after using the input stream returned by getStreamData().
getStreamData in interface MediaMedia.getReaderData()public final String getStringData()
getStringData in interface MediaMedia.getByteData()public final Reader getReaderData()
getReaderData in interface MediaMedia.getStreamData()public String getFormat()
MediagetFormat in interface MediaMedia.getContentType()public boolean isContentDisposition()
MediaDefault: true
isContentDisposition in interface Mediapublic boolean isBinary()
MediaMedia.getByteData() or Media.getStreamData()
to retrieve its content.
If false, use Media.getStringData() or Media.getReaderData()
to retrieve its content.isBinary in interface MediaMedia.getStringData(),
Media.getByteData(),
Media.getReaderData(),
Media.getStreamData()public final boolean inMemory()
MediainMemory in interface MediaMedia.getStringData(),
Media.getByteData(),
Media.getReaderData(),
Media.getStreamData()public byte[] getByteData()
MediaIt might not be a copy, so don't modify it directly unless you know what you are doing.
If the data is not cached in memory (Media.inMemory() return false),
the data will be read from Media.getStreamData(). Furthermore, it
also implies you can not invoke this method again.
getByteData in interface MediaMedia.getStringData()Copyright © 2018. All rights reserved.