|
Oracle interMedia Java Classes API Reference 10g Release 2 (10.2) Part No. B14301-01 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoracle.ord.im.OrdDocBase
oracle.ord.im.OrdDoc
The OrdDoc class is used to represent an instance of the ORDSYS.ORDDoc database type in a Java application. The OrdDoc class includes a set of methods to get and set various object attributes, as well as a set of methods to perform various operations on an OrdDoc Java object.
Users of this class should be familiar with Oracle interMedia Reference.
Almost all methods operate on the attributes of the OrdDoc Java object in the application. The exceptions are those methods that access the media data for read or write purposes, which are described in the following list:
file
, read data from the specified file.http
, read data from the resource at the specified URL.
Some methods in the OrdAudio Java class are handed off to a database
source plug-in or database format plug-in for processing; these methods have
byte [] ctx []
as a context parameter. Applications
should allocate a 64-byte array to hold any context information that may be
required by a source plug-in or a format plug-in. For example, a plug-in may
initialize the context information in one call and use that information in a
subsequent call. The source plug-in context requires one array; the format
plug-in context requires another array. For most plug-ins, 64 bytes should be
sufficient. Some user-defined plug-ins may need additional space. The following
example illustrates how to allocate a plug-in context information array:
byte [] ctx [] = new byte[1][64];
See Oracle interMedia Reference for more information about plug-ins.
In order to run OrdDoc methods, you will need to include the following import statements in your Java file:
import oracle.ord.im.OrdMediaUtil; import oracle.ord.im.OrdDoc;
You may also need to import classes from the following Java packages:
java.io. java.sql. oracle.jdbc.
Before running OrdDoc methods, the following operations must have already been performed:
For examples of making a connection and populating a local object, see Oracle interMedia User's Guide.
Field Summary |
Fields inherited from class oracle.ord.im.OrdDocBase |
_SQL_NAME, _SQL_TYPECODE |
Constructor Summary | |
OrdDoc()
Deprecated. |
Method Summary | |
void |
clearLocal()
Clears the local attribute to indicate that the media data is stored externally. |
int |
closeSource(byte[][] ctx)
Closes a data source. |
oracle.sql.CustomDatum |
create(oracle.sql.Datum d,
int sqlType)
Exists as an internal method used only by the Oracle CustomDatum interface. |
void |
deleteContent()
Deletes any data stored in the database BLOB specified by the localData attribute. |
void |
export(byte[][] ctx,
java.lang.String srcType,
java.lang.String srcLocation,
java.lang.String srcName)
Exports the data from the BLOB specified by the localData attribute. |
oracle.sql.BFILE |
getBFILE()
Returns a BFILE locator from the database when the value of the srcType attribute is file . |
oracle.sql.CLOB |
getComments()
Returns the CLOB locator from the comments attribute. |
oracle.sql.BLOB |
getContent()
Returns the BLOB locator from the localData attribute. |
oracle.sql.BLOB |
getContentInLob(byte[][] ctx,
java.lang.String[] mimetype,
java.lang.String[] format)
Returns the data from the BLOB specified by the localData attribute in a temporary BLOB in the database. |
int |
getContentLength()
Returns the value of the contentLength attribute. |
byte[] |
getDataInByteArray()
Returns a byte array containing the data from the database BLOB specified by the localData attribute. |
boolean |
getDataInFile(java.lang.String filename)
Writes the data from the database BLOB specified by the localData attribute to a local file. |
java.io.InputStream |
getDataInStream()
Returns an InputStream object from which the data in the database BLOB specified by the localData attribute can be read. |
static oracle.sql.CustomDatumFactory |
getFactory()
Deprecated. New applications should use the getORADataFactory method. |
java.lang.String |
getFormat()
Returns the value of the format attribute. |
java.lang.String |
getMimeType()
Returns the value of the mimeType attribute. |
static oracle.sql.ORADataFactory |
getORADataFactory()
Returns the OrdDoc ORADataFactory interface for use by the getORAData method. |
java.lang.String |
getSource()
Returns the source information in the form srcType://srcLocation/srcName . |
java.lang.String |
getSourceLocation()
Returns the value of the srcLocation attribute. |
java.lang.String |
getSourceName()
Returns the value of the srcName attribute. |
java.lang.String |
getSourceType()
Returns the value of the srcType attribute. |
java.sql.Timestamp |
getUpdateTime()
Returns the value of the updateTime attribute. |
void |
importData(byte[][] ctx,
boolean setProp)
Imports data from an external source into the database BLOB specified by the localData attribute, and optionally calls the setProperties method. |
void |
importFrom(byte[][] ctx,
java.lang.String srcType,
java.lang.String srcLocation,
java.lang.String srcName,
boolean setProp)
Imports data from an external source into the database BLOB specified by the localData attribute, and optionally calls the setProperties method. |
boolean |
isLocal()
Indicates if the media data is stored locally in the database in a BLOB specified by the localData attribute. |
boolean |
loadDataFromByteArray(byte[] byteArr)
Loads data from a byte array into the database BLOB specified by the localData attribute. |
boolean |
loadDataFromFile(java.lang.String filename)
Loads data from a file into the database BLOB specified by the localData attribute. |
boolean |
loadDataFromInputStream(java.io.InputStream inpStream)
Loads data from an InputStream object into the database BLOB specified by the localData attribute. |
int |
openSource(byte[] userarg,
byte[][] ctx)
Opens a data source. |
byte[] |
processSourceCommand(byte[][] ctx,
java.lang.String cmd,
java.lang.String args,
byte[][] result)
Calls the source plug-in in the database to execute a command. |
int |
readFromSource(byte[][] ctx,
int startpos,
int numbytes,
byte[][] buffer)
Reads data from the data source. |
void |
setComments(oracle.sql.CLOB comments)
Sets the value of the comments attribute. |
void |
setContentLength(int contentLength)
Sets the value of the contentLength attribute. |
void |
setFormat(java.lang.String format)
Sets the value of the format attribute. |
void |
setLocal()
Sets the value of the local attribute to indicate that the media data is stored locally in the database in a BLOB specified by the localData attribute. |
void |
setMimeType(java.lang.String mimeType)
Sets the value of the mimeType attribute. |
void |
setProperties(byte[][] ctx,
boolean setComments)
Parses the media data properties, sets the values of the attributes in the OrdDoc Java object, and optionally populates the CLOB specified by the comments attribute. |
void |
setSource(java.lang.String srcType,
java.lang.String srcLocation,
java.lang.String srcName)
Sets the values of the srcType, srcLocation, and srcName attributes. |
void |
setUpdateTime(java.sql.Timestamp currentTime)
Sets the value of the updateTime attribute. |
int |
trimSource(byte[][] ctx,
int newLen)
Trims the data to the specified length. |
int |
writeToSource(byte[][] ctx,
int startpos,
int numbytes,
byte[] buffer)
Writes data to the data source. |
Methods inherited from class oracle.ord.im.OrdDocBase |
create, toDatum, toDatum |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public OrdDoc()
Method Detail |
public boolean isLocal() throws java.sql.SQLException
true
if the data is stored locally in the database
in a BLOB; false
otherwise.
java.sql.SQLException
- if an error occurs accessing the local attribute.public void setLocal() throws java.sql.SQLException
java.sql.SQLException
- if an error occurs accessing the local attribute.public void clearLocal() throws java.sql.SQLException
java.sql.SQLException
- if an error occurs accessing the local attribute.public java.lang.String getSourceType() throws java.sql.SQLException
String
.
java.sql.SQLException
- if an error occurs accessing the srcType attribute.public java.lang.String getSourceLocation() throws java.sql.SQLException
String
.
java.sql.SQLException
- if an error occurs accessing the srcLocation
attribute.public java.lang.String getSourceName() throws java.sql.SQLException
String
.
java.sql.SQLException
- if an error occurs accessing the srcName attribute.public java.lang.String getSource() throws java.sql.SQLException
srcType://srcLocation/srcName
.
String
.
java.sql.SQLException
- if an error occurs executing the corresponding
getSource method in the database.public void setSource(java.lang.String srcType, java.lang.String srcLocation, java.lang.String srcName) throws java.sql.SQLException
srcType
- the type of the source.srcLocation
- the location of the source.srcName
- the name of the source.
java.sql.SQLException
- if an error occurs accessing the srcType,
srcLocation, or srcName attributes.public java.sql.Timestamp getUpdateTime() throws java.sql.SQLException
java.sql.Timestamp
object.
java.sql.SQLException
- if an error occurs accessing the
updateTime attribute.public void setUpdateTime(java.sql.Timestamp currentTime) throws java.sql.SQLException
null
.
currentTime
- the update time, or the null
value,
used to set the value of the updateTime
attribute to the current SYSDATE time.
java.sql.SQLException
- if an error occurs executing the corresponding
setUpdateTime method in the database.public oracle.sql.BLOB getContent() throws java.sql.SQLException
oracle.sql.BLOB
locator.
java.sql.SQLException
- if an error occurs accessing the localData attribute.public oracle.sql.BFILE getBFILE() throws java.sql.SQLException
file
. This method calls the corresponding
getBFILE method in the database, which creates the BFILE using the
srcLocation and srcName attributes.
oracle.sql.BFILE
locator.
java.sql.SQLException
- if an error occurs executing the corresponding
getBFILE method in the database.public java.lang.String getFormat() throws java.sql.SQLException
String
.
java.sql.SQLException
- if an error occurs accessing the format attribute.public void setFormat(java.lang.String format) throws java.sql.SQLException
The format attribute determines which format plug-in is used to handle
calls to methods that operate on the media data. In particular, the
setProperties method uses the format attribute to determine which format
plug-in to call to parse the media data properties. See the
setProperties(byte[][], boolean)
method for more information on how
to initialize the format attribute before calling the setProperties method,
and for information on how the setProperties method in the default,
Oracle-supplied plug-in, sets the value of the format attribute. Calling this
method sets only the attribute value; it does not modify the media data itself.
format
- the new attribute value.
java.sql.SQLException
- if an error occurs accessing the format attribute.public java.lang.String getMimeType() throws java.sql.SQLException
String
.
java.sql.SQLException
- if an error occurs accessing the mimeType attribute.public void setMimeType(java.lang.String mimeType) throws java.sql.SQLException
The setProperties(byte[][], boolean)
method sets the value of this
attribute automatically for certain media formats; use this method only if
you are not using the setProperties method. This method sets only the
attribute value; it does not modify the media data itself.
mimeType
- the new attribute value.
java.sql.SQLException
- if an error occurs accessing the mimeType attribute.public int getContentLength() throws java.sql.SQLException
int
).
java.sql.SQLException
- if an error occurs accessing the contentLength
attribute.public void setContentLength(int contentLength) throws java.sql.SQLException
The setProperties(byte[][], boolean)
method sets the value of this
attribute automatically for certain media formats; use this method only
if you are not using the setProperties method. This method sets only the
attribute value; it does not modify the media data itself.
contentLength
- the new attribute value.
java.sql.SQLException
- if an error occurs accessing the contentLength
attribute.public oracle.sql.CLOB getComments() throws java.sql.SQLException
oracle.sql.CLOB
locator.
java.sql.SQLException
- if an error occurs accessing the comments attribute.public void setComments(oracle.sql.CLOB comments) throws java.sql.SQLException
The comments attribute is reserved for use by interMedia. You can
set your own value, but it could be overwritten by Oracle interMedia
Annotator or by the setProperties(byte[][], boolean)
method.
comments
- the new attribute value.
java.sql.SQLException
- if an error occurs accessing the comments attribute.public boolean loadDataFromFile(java.lang.String filename) throws java.sql.SQLException, java.io.IOException
deleteContent()
method to delete any existing data
in the BLOB. It also calls the setLocal()
method to set
the local flag. In addition, this method calls the
setUpdateTime(java.sql.Timestamp)
method to set the value of the
updateTime attribute to the current SYSDATE time.
filename
- the name of the local file from which the data will be loaded.
true
if the data is loaded successfully; otherwise,
an exception is raised if an error occurs. This method never
returns false
.
java.sql.SQLException
- if an error occurs accessing an object attribute or
executing a method in the database.
java.io.IOException
- if an error occurs reading the data file.public boolean loadDataFromInputStream(java.io.InputStream inpStream) throws java.sql.SQLException, java.io.IOException
deleteContent()
method to delete any existing
data in the BLOB. It also calls the setLocal()
method
to set the local flag. In addition, this method calls the
setUpdateTime(java.sql.Timestamp)
method to set the value of the
updateTime attribute to the current SYSDATE time.
inpStream
- the name of the InputStream
object from
which the data will be loaded.
true
if the data is loaded successfully; otherwise,
an exception is raised if an error occurs. This method never
returns false
.
java.sql.SQLException
- if an error occurs accessing an object attribute or
executing a method in the database.
java.io.IOException
- if an error occurs reading the InputStream object.public boolean loadDataFromByteArray(byte[] byteArr) throws java.sql.SQLException, java.io.IOException
deleteContent()
method to delete any existing data
in the BLOB. It also calls the setLocal()
method to set
the local flag. In addition, this method calls the
setUpdateTime(java.sql.Timestamp)
method to set the value of the
updateTime attribute to the current SYSDATE time.
byteArr
- the name of the local byte[]
array from which
the data will be loaded.
true
if the data is loaded successfully; otherwise,
an exception is raised if an error occurs. This method never
returns false
.
java.sql.SQLException
- if an error occurs accessing an object attribute or
executing a method in the database.
java.io.IOException
- if an error occurs reading the byte array.public boolean getDataInFile(java.lang.String filename) throws java.sql.SQLException, java.io.IOException
filename
- the name of the file to which the data will be written.
true
if the data is written to the file successfully;
otherwise, an exception is raised if an error occurs. This method
never returns false
.
java.sql.SQLException
- if an error occurs accessing an object attribute.
java.io.IOException
- if an error occurs reading the data from the BLOB or
writing the data to the output file.public java.io.InputStream getDataInStream() throws java.sql.SQLException
InputStream
object from which the data will be read.
java.sql.SQLException
- if an error occurs accessing an object attribute.public byte[] getDataInByteArray() throws java.sql.SQLException, java.io.IOException, java.lang.OutOfMemoryError
byte[]
array containing the data.
java.sql.SQLException
- if an error occurs accessing an object attribute.
java.io.IOException
- if an error occurs reading the data from the BLOB.
java.lang.OutOfMemoryError
- if sufficient memory cannot be allocated to
hold the data.public oracle.sql.BLOB getContentInLob(byte[][] ctx, java.lang.String[] mimetype, java.lang.String[] format) throws java.sql.SQLException
ctx
- the format plug-in context information.mimetype
- a String[]
array, 1 element in length, into
which the mimeType attribute is written as element 0.format
- a String[]
array, 1 element in length, into
which the format attribute is written as element 0.
oracle.sql.BLOB
locator.
java.sql.SQLException
- if an error occurs creating the temporary BLOB or
executing the corresponding getContentInLob method
in the database.public void deleteContent() throws java.sql.SQLException
java.sql.SQLException
- if an error occurs executing the corresponding
deleteContent method in the database.public void importData(byte[][] ctx, boolean setProp) throws java.sql.SQLException
ctx
- the source plug-in context information.setProp
- a boolean
value that specifies whether or not to
call the setProperties method.
java.sql.SQLException
- if an error occurs executing the corresponding
import method in the database.public void importFrom(byte[][] ctx, java.lang.String srcType, java.lang.String srcLocation, java.lang.String srcName, boolean setProp) throws java.sql.SQLException
ctx
- the source plug-in context information.srcType
- the source type from which the data will be imported.srcLocation
- the source location from which the data will be
imported.srcName
- the source name from which the data will be imported.setProp
- a boolean
value that specifies whether or
not to call the setProperties method.
java.sql.SQLException
- if an error occurs executing the corresponding
importFrom method in the database.public void export(byte[][] ctx, java.lang.String srcType, java.lang.String srcLocation, java.lang.String srcName) throws java.sql.SQLException
Not all source plug-ins support the export method. Only the "file" source type is natively supported.
This method will work only if you are running Oracle release 8.1.7 or later.
The remainder of this description describes the use of the export method and the Oracle-supplied "file" source plug-in. User-written plug-ins will behave differently.
The export method implemented by the Oracle-supplied "file" source plug-in copies, but does not modify, the media data stored in the database BLOB specified by the localData attribute.
After exporting the media data, all the media property attributes remain
unchanged. However, the srcType, srcLocation, and srcName attributes are
updated with values of the srcType, srcLocation, and srcName parameters
passed to the export method. After calling the export method, if you no
longer intend to manage the media data within the database, call the
clearLocal()
method to indicate that the media data is
stored outside the database, and call the deleteContent()
method to delete the media data stored in the database BLOB.
See Oracle interMedia Reference for information about the privileges required to write to a database directory object. See Oracle Database Java Developer's Guide and the java.io.FilePermission class in the Java API for information about security and performance.
ctx
- the source plug-in context information.srcType
- the source type to which the content will be exported.srcLocation
- the source location to which the content will be exported.srcName
- the source name to which the content will be exported.
java.sql.SQLException
- if an error occurs executing the corresponding export
method in the database.public void setProperties(byte[][] ctx, boolean setComments) throws java.sql.SQLException
null
if the corresponding property cannot be extracted
for a specific media format. If the setComments parameter is true,
this method also populates the CLOB specified by the comments attribute
with all extracted properties in XML form. If the setComments parameter
is false, the comments attribute is not modified. This method throws a
SQLException error if the media format is not recognized.
The format attribute determines which format plug-in is used to parse the
media data properties. If the value of the format attribute is
null
when the setProperties method is called, then the default,
Oracle-supplied, format plug-in is used to parse the media data properties
and fill in various attributes, including the actual media data format, for
supported media formats. See Oracle interMedia Reference for
information on the media formats supported by the Oracle-supplied format
plug-ins. Note that the ORDDoc.init methods in the database always set the
value of the format attribute to null
. If the value of the
format attribute is not null
, then the format plug-in specified
by the format attribute will be called when the setProperties method is called.
ctx
- the format plug-in context information.setComments
- a boolean
value that specifies whether or not
to populate the CLOB specified by the comments attribute.
java.sql.SQLException
- if an error occurs executing the corresponding
setProperties method in the database.public int openSource(byte[] userarg, byte[][] ctx) throws java.sql.SQLException
userarg
- additional source plug-in information that may be required
by user-defined source plug-ins.ctx
- the source plug-in context information.
int
), where zero indicates
success and a nonzero value indicates a failure code specific to
the source plug-in.
java.sql.SQLException
- if an error occurs executing the corresponding
openSource method in the database.public int closeSource(byte[][] ctx) throws java.sql.SQLException
ctx
- the source plug-in context information.
int
), where zero
indicates success and a nonzero value indicates a failure
code specific to the source plug-in.
java.sql.SQLException
- if an error occurs executing the corresponding
closeSource method in the database.public int readFromSource(byte[][] ctx, int startpos, int numbytes, byte[][] buffer) throws java.sql.SQLException
Not all source plug-ins require that the data source be opened before it
can be read. However, to ensure that an application will work with any
current or future source plug-ins, call the openSource(byte[], byte[][])
method before calling this method.
ctx
- the source plug-in context information.startpos
- the start position in the data source.numbytes
- the number of bytes to be read from the data source.buffer
- a byte[][]
array of the form [1][n
],
where n
is greater than or equal to
numbytes
.
int
).
java.sql.SQLException
- if an error occurs executing the corresponding
readFromSource method in the database.public int writeToSource(byte[][] ctx, int startpos, int numbytes, byte[] buffer) throws java.sql.SQLException
Not all source plug-ins support write operations. For example, applications can write to a BLOB specified by the localData attribute; however, the "file" and "http" data source types do not support write access, and so do not support this method. Furthermore, those source plug-ins that do support write access may support only sequential write access, and may not support write access to arbitrary starting positions within the data source.
Not all source plug-ins require that the data source be opened before it
can be written. However, to ensure that an application will work with any
current or future source plug-ins, call the openSource(byte[], byte[][])
method before calling this method.
ctx
- the source plug-in context information.startpos
- the start position in the data source.numbytes
- the number of bytes to be written to the data source.buffer
- a byte[]
array containing the data to be
written.
int
).
java.sql.SQLException
- if an error occurs executing the corresponding
writeToSource method in the database.public int trimSource(byte[][] ctx, int newLen) throws java.sql.SQLException
Not all source plug-ins support trim operations. For example, applications can trim the data stored in a BLOB specified by the localData attribute; however, the "file" and "http" data source types do not support write access, and so do not support this method. Furthermore, those source plug-ins that do support write access may not support the trim operation.
Not all source plug-ins require that the data source be opened before it
can be modified. However, to ensure that an application will work with
any current or future source plug-ins, call the
openSource(byte[], byte[][])
method before calling this method.
ctx
- the source plug-in context information.newLen
- the length to which the data is to be trimmed.
int
), where zero indicates
success and a nonzero value indicates a failure code specific to
the source plug-in.
java.sql.SQLException
- if an error occurs executing the corresponding
trimSource method in the database.public byte[] processSourceCommand(byte[][] ctx, java.lang.String cmd, java.lang.String args, byte[][] result) throws java.sql.SQLException
ctx
- the source plug-in context information.cmd
- the command to be executed by the source plug-in.args
- the arguments of the command.result
- a byte[][]
array of the form
[1][n
] into which the result
of the command execution is written.
java.sql.SQLException
- if an error occurs executing the corresponding
processSourceCommand method in the database.public static oracle.sql.ORADataFactory getORADataFactory()
public static oracle.sql.CustomDatumFactory getFactory()
public oracle.sql.CustomDatum create(oracle.sql.Datum d, int sqlType) throws java.sql.SQLException
java.sql.SQLException
|
Oracle interMedia Java Classes API Reference 10g Release 2 (10.2) Part No. B14301-01 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |