Skip navigation links

Oracle® Multimedia Java API Reference
11g Release 2 (11.2)

E10779-01


oracle.ord.im
Class OrdDoc

java.lang.Object
  extended by oracle.ord.im.OrdDocBase
      extended by oracle.ord.im.OrdDoc

All Implemented Interfaces:
oracle.jdbc.internal.ObjectData, oracle.jdbc.internal.ObjectDataFactory, oracle.sql.CustomDatum, oracle.sql.ORAData, oracle.sql.ORADataFactory

public class OrdDoc
extends oracle.ord.im.OrdDocBase

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 Multimedia 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:

If your application modifies the OrdDoc Java object, or the media data in the database, you must update the ORDDoc SQL object in the database to make those changes permanent.

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];
Note
In the current release, no Oracle-supplied source plug-ins or format plug-ins maintain context. Also, not all user-written source plug-ins or format plug-ins maintain context. However, if you include the context parameter as described, your application should work with any current or future source plug-ins or format plug-ins.

See Oracle Multimedia Reference for more information about plug-ins.

Prerequisites

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 Multimedia 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.
 void close()
          Closes the ORDDoc object if it is not retrieved from a table.
 int closeSource(byte[][] ctx)
          Closes a data source.
 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.
 java.sql.Blob getBlobContent()
          Returns the BLOB locator from the localData attribute.
 java.sql.Clob getClobComments()
          Returns the CLOB locator from the comments attribute.
 oracle.sql.CLOB getComments()
          Deprecated. New applications should use the getClobComments method.
 oracle.sql.BLOB getContent()
          Deprecated. New applications should use the getBlobContent method.
 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 isConnectionNull()
          Returns whether the underlying database connection is null.
 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 setClobComments(java.sql.Clob comments)
          Sets the value of the comments attribute.
 void setComments(oracle.sql.CLOB comments)
          Deprecated. New applications should use the setClobComments method.
 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

OrdDoc

public OrdDoc()
Deprecated. 
Exists as an internal constructor used only by the Oracle ORAData interface factory method to create an instance of the class. Applications should not use this constructor.

Method Detail

isLocal

public boolean isLocal()
                throws java.sql.SQLException
Indicates if the media data is stored locally in the database in a BLOB specified by the localData attribute.
Returns:
true if the data is stored locally in the database in a BLOB; false otherwise.
Throws:
java.sql.SQLException - if an error occurs accessing the local attribute.

setLocal

public void setLocal()
              throws java.sql.SQLException
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.
Throws:
java.sql.SQLException - if an error occurs accessing the local attribute.

clearLocal

public void clearLocal()
                throws java.sql.SQLException
Clears the local attribute to indicate that the media data is stored externally.
Throws:
java.sql.SQLException - if an error occurs accessing the local attribute.

getSourceType

public java.lang.String getSourceType()
                               throws java.sql.SQLException
Returns the value of the srcType attribute.
Returns:
the value of the srcType attribute, as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the srcType attribute.

getSourceLocation

public java.lang.String getSourceLocation()
                                   throws java.sql.SQLException
Returns the value of the srcLocation attribute.
Returns:
the value of the srcLocation attribute, as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the srcLocation attribute.

getSourceName

public java.lang.String getSourceName()
                               throws java.sql.SQLException
Returns the value of the srcName attribute.
Returns:
the value of the srcName attribute, as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the srcName attribute.

getSource

public java.lang.String getSource()
                           throws java.sql.SQLException
Returns the source information in the form srcType://srcLocation/srcName.
Returns:
the source information, as a String.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding getSource method in the database.

setSource

public void setSource(java.lang.String srcType,
                      java.lang.String srcLocation,
                      java.lang.String srcName)
               throws java.sql.SQLException
Sets the values of the srcType, srcLocation, and srcName attributes.
Parameters:
srcType - the type of the source.
srcLocation - the location of the source.
srcName - the name of the source.
Throws:
java.sql.SQLException - if an error occurs accessing the srcType, srcLocation, or srcName attributes.

getUpdateTime

public java.sql.Timestamp getUpdateTime()
                                 throws java.sql.SQLException
Returns the value of the updateTime attribute.
Returns:
the value of the updateTime attribute, as a java.sql.Timestamp object.
Throws:
java.sql.SQLException - if an error occurs accessing the updateTime attribute.

setUpdateTime

public void setUpdateTime(java.sql.Timestamp currentTime)
                   throws java.sql.SQLException
Sets the value of the updateTime attribute. This method sets the value of the updateTime attribute to the specified time, or to the current SYSDATE time if the value of the currentTime attribute is specified as null.
Parameters:
currentTime - the update time, or the null value, used to set the value of the updateTime attribute to the current SYSDATE time.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding setUpdateTime method in the database.

getContent

public oracle.sql.BLOB getContent()
                           throws java.sql.SQLException
Deprecated. New applications should use the getBlobContent method.
Returns:
an oracle.sql.BLOB.
Throws:
java.sql.SQLException - if an error occurs accessing the localData attribute.

getBlobContent

public java.sql.Blob getBlobContent()
                             throws java.sql.SQLException
Returns the BLOB locator from the localData attribute.
Returns:
a java.sql.Blob.
Throws:
java.sql.SQLException - if an error occurs accessing the localData attribute.

getBFILE

public oracle.sql.BFILE getBFILE()
                          throws java.sql.SQLException
Returns a BFILE locator from the database when the value of the srcType attribute is file. This method calls the corresponding getBFILE method in the database, which creates the BFILE using the srcLocation and srcName attributes.
Returns:
an oracle.sql.BFILE locator.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding getBFILE method in the database.

getFormat

public java.lang.String getFormat()
                           throws java.sql.SQLException
Returns the value of the format attribute.
Returns:
the value of the format attribute, as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the format attribute.

setFormat

public void setFormat(java.lang.String format)
               throws java.sql.SQLException
Sets the value of the format attribute.

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.

Parameters:
format - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the format attribute.

getMimeType

public java.lang.String getMimeType()
                             throws java.sql.SQLException
Returns the value of the mimeType attribute.
Returns:
the value of the mimeType attribute, as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the mimeType attribute.

setMimeType

public void setMimeType(java.lang.String mimeType)
                 throws java.sql.SQLException
Sets the value of the mimeType attribute.

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.

Parameters:
mimeType - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the mimeType attribute.

getContentLength

public int getContentLength()
                     throws java.sql.SQLException
Returns the value of the contentLength attribute.
Returns:
the value of the contentLength attribute, as an integer (int).
Throws:
java.sql.SQLException - if an error occurs accessing the contentLength attribute.

setContentLength

public void setContentLength(int contentLength)
                      throws java.sql.SQLException
Sets the value of the contentLength attribute.

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.

Parameters:
contentLength - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the contentLength attribute.

getComments

public oracle.sql.CLOB getComments()
                            throws java.sql.SQLException
Deprecated. New applications should use the getClobComments method.
Returns:
the value of the comments attribute, as an oracle.sql.CLOB.
Throws:
java.sql.SQLException - if an error occurs accessing the comments attribute.

getClobComments

public java.sql.Clob getClobComments()
                              throws java.sql.SQLException
Returns the CLOB locator from the comments attribute.
Returns:
the value of the comments attribute, as an java.sql.Clob.
Throws:
java.sql.SQLException - if an error occurs accessing the comments attribute.

setComments

public void setComments(oracle.sql.CLOB comments)
                 throws java.sql.SQLException
Deprecated. New applications should use the setClobComments method.
Parameters:
comments - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the comments attribute.

setClobComments

public void setClobComments(java.sql.Clob comments)
                     throws java.sql.SQLException
Sets the value of the comments attribute.

The comments attribute is reserved for use by Oracle Multimedia. You can set your own value, but it could be overwritten by the setProperties(byte[][], boolean) method.

Parameters:
comments - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the comments attribute.

loadDataFromFile

public boolean loadDataFromFile(java.lang.String filename)
                         throws java.sql.SQLException,
                                java.io.IOException
Loads data from a file into the database BLOB specified by the localData attribute. Before loading the data, this method calls the 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.
Parameters:
filename - the name of the local file from which the data will be loaded.
Returns:
true if the data is loaded successfully; otherwise, an exception is raised if an error occurs. This method never returns false.
Throws:
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.

loadDataFromInputStream

public boolean loadDataFromInputStream(java.io.InputStream inpStream)
                                throws java.sql.SQLException,
                                       java.io.IOException
Loads data from an InputStream object into the database BLOB specified by the localData attribute. Before loading the data, this method calls the 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.
Parameters:
inpStream - the name of the InputStream object from which the data will be loaded.
Returns:
true if the data is loaded successfully; otherwise, an exception is raised if an error occurs. This method never returns false.
Throws:
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.

loadDataFromByteArray

public boolean loadDataFromByteArray(byte[] byteArr)
                              throws java.sql.SQLException,
                                     java.io.IOException
Loads data from a byte array into the database BLOB specified by the localData attribute. Before loading the data, this method calls the 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.
Parameters:
byteArr - the name of the local byte[] array from which the data will be loaded.
Returns:
true if the data is loaded successfully; otherwise, an exception is raised if an error occurs. This method never returns false.
Throws:
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.

getDataInFile

public boolean getDataInFile(java.lang.String filename)
                      throws java.sql.SQLException,
                             java.io.IOException
Writes the data from the database BLOB specified by the localData attribute to a local file.
Parameters:
filename - the name of the file to which the data will be written.
Returns:
true if the data is written to the file successfully; otherwise, an exception is raised if an error occurs. This method never returns false.
Throws:
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.

getDataInStream

public java.io.InputStream getDataInStream()
                                    throws java.sql.SQLException
Returns an InputStream object from which the data in the database BLOB specified by the localData attribute can be read.
Returns:
an InputStream object from which the data will be read.
Throws:
java.sql.SQLException - if an error occurs accessing an object attribute.

getDataInByteArray

public byte[] getDataInByteArray()
                          throws java.sql.SQLException,
                                 java.io.IOException,
                                 java.lang.OutOfMemoryError
Returns a byte array containing the data from the database BLOB specified by the localData attribute.
Returns:
a byte[] array containing the data.
Throws:
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.

getContentInLob

public oracle.sql.BLOB getContentInLob(byte[][] ctx,
                                       java.lang.String[] mimetype,
                                       java.lang.String[] format)
                                throws java.sql.SQLException
Returns the data from the BLOB specified by the localData attribute in a temporary BLOB in the database. This method creates a temporary BLOB in the database, reads the data from the BLOB specified by the localData attribute, writes the data to the temporary BLOB, and then returns the temporary BLOB locator to the caller.
Note
The application must free the temporary BLOB after accessing the data it contains.
Parameters:
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.
Returns:
the media data in a temporary oracle.sql.BLOB locator.
Throws:
java.sql.SQLException - if an error occurs creating the temporary BLOB or executing the corresponding getContentInLob method in the database.

deleteContent

public void deleteContent()
                   throws java.sql.SQLException
Deletes any data stored in the database BLOB specified by the localData attribute.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding deleteContent method in the database.

importData

public void importData(byte[][] ctx,
                       boolean setProp)
                throws java.sql.SQLException
Imports data from an external source into the database BLOB specified by the localData attribute, and optionally calls the setProperties method. If the setProp parameter is true, this method calls the setProperties method in the database to set the property attributes and populate the CLOB specified by the comments attribute. The external data source is specified by the srcType, srcLocation, and srcName attributes.
Parameters:
ctx - the source plug-in context information.
setProp - a boolean value that specifies whether or not to call the setProperties method.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding import method in the database.

importFrom

public void importFrom(byte[][] ctx,
                       java.lang.String srcType,
                       java.lang.String srcLocation,
                       java.lang.String srcName,
                       boolean setProp)
                throws java.sql.SQLException
Imports data from an external source into the database BLOB specified by the localData attribute, and optionally calls the setProperties method. If the setProp parameter is true, this method calls the setProperties method in the database to set the property attributes and populate the CLOB specified by the comments attribute. The external data source is specified by the srcType, srcLocation, and srcName parameters. The srcType, srcLocation, and srcName attributes are updated with values of the srcType, srcLocation, and srcName parameters passed to the importFrom method.
Parameters:
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.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding importFrom method in the database.

export

public void export(byte[][] ctx,
                   java.lang.String srcType,
                   java.lang.String srcLocation,
                   java.lang.String srcName)
            throws java.sql.SQLException
Exports the data from the BLOB specified by the localData attribute. This method calls the corresponding export method in the database to export the media data to a location specified by the srcType, srcLocation, and srcName parameters.

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 Multimedia 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.

Parameters:
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.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding export method in the database.

setProperties

public void setProperties(byte[][] ctx,
                          boolean setComments)
                   throws java.sql.SQLException
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. This method sets the values of the format, mimeType, and contentLength attributes. An attribute value is set to 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 Multimedia 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.

Parameters:
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.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding setProperties method in the database.

openSource

public int openSource(byte[] userarg,
                      byte[][] ctx)
               throws java.sql.SQLException
Opens a data source.
Parameters:
userarg - additional source plug-in information that may be required by user-defined source plug-ins.
ctx - the source plug-in context information.
Returns:
the status as an integer (int), where zero indicates success and a nonzero value indicates a failure code specific to the source plug-in.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding openSource method in the database.

closeSource

public int closeSource(byte[][] ctx)
                throws java.sql.SQLException
Closes a data source.
Parameters:
ctx - the source plug-in context information.
Returns:
the status as an integer (int), where zero indicates success and a nonzero value indicates a failure code specific to the source plug-in.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding closeSource method in the database.

readFromSource

public int readFromSource(byte[][] ctx,
                          int startpos,
                          int numbytes,
                          byte[][] buffer)
                   throws java.sql.SQLException
Reads data from the data source. This method reads the specified number of bytes into the application buffer from the data source, starting at the specified position in the data source.

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.

Parameters:
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.
Returns:
the number of bytes read, as an integer (int).
Throws:
java.sql.SQLException - if an error occurs executing the corresponding readFromSource method in the database.

writeToSource

public int writeToSource(byte[][] ctx,
                         int startpos,
                         int numbytes,
                         byte[] buffer)
                  throws java.sql.SQLException
Writes data to the data source. This method writes the specified number of bytes from the application buffer to the data source, starting at the specified position in the data source.

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.

Parameters:
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.
Returns:
the number of bytes written, as an integer (int).
Throws:
java.sql.SQLException - if an error occurs executing the corresponding writeToSource method in the database.

trimSource

public int trimSource(byte[][] ctx,
                      int newLen)
               throws java.sql.SQLException
Trims the data to the specified length.

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.

Parameters:
ctx - the source plug-in context information.
newLen - the length to which the data is to be trimmed.
Returns:
the status as an integer (int), where zero indicates success and a nonzero value indicates a failure code specific to the source plug-in.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding trimSource method in the database.

processSourceCommand

public byte[] processSourceCommand(byte[][] ctx,
                                   java.lang.String cmd,
                                   java.lang.String args,
                                   byte[][] result)
                            throws java.sql.SQLException
Calls the source plug-in in the database to execute a command. This method is used with user-written plug-ins only; it raises an exception if used with the source plug-ins supplied by Oracle.
Parameters:
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.
Returns:
the results of executing the command.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding processSourceCommand method in the database.

close

public void close()
           throws java.sql.SQLException
Closes the ORDDoc object if it is not retrieved from a table. When an ORDDoc object is not retrieved from a table, such as when it is retrieved from an anonymous PL/SQL block or directly from an object constructor, the LOB within the ORDDoc object could be a temporary LOB. Call this method to release any temporary LOBs within the ORDDoc object when the object is no longer in use.
Throws:
java.sql.SQLException - if an error occurs when attempting to release the temporary LOB.

getORADataFactory

public static oracle.sql.ORADataFactory getORADataFactory()
Returns the OrdDoc ORADataFactory interface for use by the getORAData method. Specify the getORADataFactory method as the factory parameter of the getORAData method when retrieving an OrdDoc object from an OracleResultSet or OracleCallableStatement object.
Returns:
the OrdDoc implementation of the ORADataFactory interface.

getFactory

public static oracle.sql.CustomDatumFactory getFactory()
Deprecated. New applications should use the getORADataFactory method.

isConnectionNull

public boolean isConnectionNull()
                         throws java.sql.SQLException
Returns whether the underlying database connection is null.
Returns:
true if the underlying database connection is null; false otherwise.
Throws:
java.sql.SQLException - if an error occurs accessing the connection.

Skip navigation links

Oracle® Multimedia Java API Reference
11g Release 2 (11.2)

E10779-01


Copyright © 1999, 2009, Oracle and/or its affiliates. All rights reserved.