|
interMedia BC4J Integration | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--oracle.ord.im.OrdDocBase
|
+--oracle.ord.im.OrdDoc
|
+--oracle.ord.im.OrdDocDomain
Represents interMedia ORDSYS.ORDDoc database type as a domain class in the Business Components for Java (BC4J) framework. Most methods in this class are BC4J tier independent. They can work on either the client tier or the middle tier, which allows the application which uses these methods to work in a tier independent fashion. There are some exceptions which are marked as local mode only:
- getContent
- getBFILE
- getComments
- setComments
- getContentInLob
- getContentAsBlobDomain
- getBFileDomain
- getCommentsAsClobDomain
setComments and getContentInLob.
The term client tier refers to the machine on which the application client is running. Middle tier refers to the server on which the BC4J business components are deployed. The user can use "local mode only" methods when he deploys BC4J and the client application to the same machine. Whereas, the user should use tier independent methods when the application client and BC4J reside on separate machines.
The constructor for this class will create an instance of an
OrdDocDomain. The user should either manually obtain a valid
BLOB locator and a JDBC connection for this instance, or rely on the
BC4J framework to obtain a BLOB locator and a JDBC connection for it.
See OrdContentSource for discussion about how to load media
content to the database by using the interMedia BC4J domain
classes.
OrdDoc, Serialized Form| Fields inherited from class oracle.ord.im.OrdDoc |
_SQL_NAME, _SQL_TYPECODE |
| Constructor Summary |
OrdDocDomain()
Constructs a new OrdDocDomain instance. |
OrdDocDomain(byte[] bytes)
Constructs a new OrdDocDomain instance. |
OrdDocDomain(OrdHttpUploadFile ohuf)
Constructs a new OrdDocDomain instance. |
OrdDocDomain(java.lang.String fileName)
Constructs a new OrdDocDomain instance. |
| Method Summary |
| Type | Method |
|---|---|
void |
clearContentSource()
Internal: Applications should not use this method. |
void |
clearLocal()
Clears the attribute called local to indicate that the content data is stored externally. |
int |
closeSource(byte[][] ctx)
Closes a data source. |
oracle.sql.CustomDatum |
create(oracle.sql.Datum d,
int sqlType)
Internal: Applications should not use this method. |
java.lang.Object |
createDomainFromSerializedXML(org.w3c.dom.Element element)
Create a domain instance by reading the xml-data out of the given xml-node. |
void |
deleteContent()
Deletes any data stored in the database BLOB specified by the localData attribute. |
void |
domainToBeModified(oracle.jbo.domain.DomainInterface d)
Internal: Applications should not use this method. |
void |
doneCommit(oracle.jbo.TransactionStateEvent event)
Internal: Applications should not use this method. |
void |
doneRollback(oracle.jbo.TransactionStateEvent event)
Internal: Applications should not use this method. |
boolean |
equals(java.lang.Object obj)
Compares two OrdDocDomain objects by their last update time
and content length. |
void |
export(byte[][] ctx,
java.lang.String sourceType,
java.lang.String sourceLocation,
java.lang.String sourceName)
Exports the data from the BLOB specified by the localData attribute. |
java.lang.Object |
getAttribute(int index)
Internal: Applications should not use this method. |
java.lang.Object |
getAttribute(java.lang.String name)
Internal: Applications should not use this method. |
int |
getAttributeCount()
Internal: Applications should not use this method. |
int |
getAttributeIndexOf(java.lang.String name)
Internal: Applications should not use this method. |
java.lang.String[] |
getAttributeNames()
|
java.lang.Object[] |
getAttributeValues()
|
oracle.sql.BFILE |
getBFILE()
Returns a BFILE locator from the database when the srcType attribute is "FILE". |
oracle.jbo.domain.BFileDomain |
getBFileDomain()
Returns a BFileDomain object which wraps the
BFILE locator obtained from the getBFILE method. |
oracle.sql.CLOB |
getComments()
Returns the CLOB locator from the comments attribute. |
oracle.jbo.domain.ClobDomain |
getCommentsAsClobDomain()
Returns a ClobDomain object which wraps the
CLOB locator obtained from the getComments() method. |
oracle.sql.BLOB |
getContent()
Returns the BLOB locator from the localData attribute. |
oracle.jbo.domain.BlobDomain |
getContentAsBlobDomain()
Returns a BlobDomain object which wraps 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 contentLength attribute. |
OrdContentSource |
getContentSource()
Gets the content source which was previously set by the setContentSource method. |
java.lang.Object |
getCTPassivationHandle()
Internal: Applications should not use this method. |
static oracle.sql.CustomDatumFactory |
getCustomDatumFactory()
Internal: Applications should not use this method. |
java.lang.Object |
getData()
Internal: Applications should not use this method. |
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 from which the data in the database BLOB specified by the localData attribute can be read. |
static oracle.sql.CustomDatumFactory |
getFactory()
Returns the OrdDocDomain CustomDatumFactory for use by the
getCustomDatum method. |
java.lang.String |
getFormat()
Returns the format attribute. |
java.lang.String |
getMimeType()
Returns the mimeType attribute. |
oracle.jbo.domain.DomainOwnerInterface |
getOwner()
Internal: Applications should not use this method. |
int |
getOwnerAttributeIndex()
Internal: Applications should not use this method. |
java.lang.String |
getRemoteIdString()
Internal: Applications should not use this method. |
org.w3c.dom.Node |
getSerializedDomainXML(org.w3c.dom.Document xmlDoc)
Creates the XML node in the given XML document for this domain's data. |
long |
getSize()
Internal: Applications should not use this method. |
java.lang.String |
getSource()
Returns the source information in the form srcType://srcLocation/srcName. |
java.lang.String |
getSourceLocation()
Returns the srcLocation attribute. |
java.lang.String |
getSourceName()
Returns the srcName attribute. |
java.lang.String |
getSourceType()
Returns the srcType attribute. |
int |
getTierInfo()
Gets the tier number information that this object lives in. |
java.sql.Timestamp |
getUpdateTime()
Returns the updateTime attribute. |
org.w3c.dom.Node |
getXMLContentNode(org.w3c.dom.Document xmlDoc)
Internal: Applications should not use this method. |
static oracle.jbo.domain.XMLDomainFactory |
getXMLDomainFactory(java.lang.Class attrClass)
Internal: Applications should not use this method. |
int |
hashCode()
Returns the hash code as a int |
void |
importData(byte[][] ctx,
boolean setProp)
Imports data from an external source into the database BLOB specified by the localData attribute, and optionally calls setProperties. |
void |
importFrom(byte[][] ctx,
java.lang.String sourceType,
java.lang.String sourceLocation,
java.lang.String sourceName,
boolean setProp)
Imports data from an external source into the database BLOB specified by the localData attribute, and optionally calls setProperties. |
boolean |
isConnected()
Determines whether the domain object has an internal JDBC connection to the database. |
boolean |
isLocal()
Determines whether the content 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 into the database BLOB
specified by the
localData attribute. |
void |
loadFromDatabase(oracle.jbo.Transaction xAct)
Internal: Applications should not use this method. |
int |
openSource(byte[] userarg,
byte[][] ctx)
Opens a data source. |
void |
prepareCTPassivation()
Internal: Applications should not use this method. |
void |
prepareForDML(java.lang.Object context)
Internal: Applications should not use this method. |
java.lang.String |
printXMLDefinition(java.util.Hashtable allDefs,
java.io.PrintWriter pw,
boolean bContainees)
Internal: Applications should not use this method. |
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 |
removeListenerFromTransaction()
Internal: Applications should not use this method. |
void |
saveToDatabase(oracle.jbo.Transaction xAct)
Internal: Applications should not use this method. |
void |
saveToDatabase(oracle.jbo.Transaction xAct,
java.lang.Object emptySQLObject)
Internal: Applications should not use this method. |
void |
setAttribute(int index,
java.lang.Object value)
Internal: Applications should not use this method. |
void |
setAttribute(java.lang.String name,
java.lang.Object value)
Internal: Applications should not use this method. |
void |
setComments(oracle.sql.CLOB comments)
Sets the comments attribute. |
void |
setContentLength(int contentLength)
Sets the contentLength attribute. |
void |
setContentSource(OrdContentSource source)
Sets the content source for deferred loading. |
void |
setContentSourceOnly(OrdContentSource source)
Internal: Applications should not use this method. |
void |
setContext(oracle.jbo.domain.DomainOwnerInterface owner,
oracle.jbo.Transaction trans,
java.lang.Object ctx)
Internal: Applications should not use this method. |
void |
setCTPassivationHandle(java.lang.Object handle)
Internal: Applications should not use this method. |
void |
setFormat(java.lang.String format)
Sets the format attribute. |
void |
setLocal()
Sets the attribute called local to indicate that the content data is stored locally in the database in a BLOB > specified by the localData attribute. |
void |
setMimeType(java.lang.String MimeType)
Sets the mimeType attribute. |
void |
setProperties()
Parses the media data properties, and sets the attributes in the
OrdDocDomain Java object. |
void |
setProperties(byte[][] ctx,
boolean setComments)
Parses the media data properties, sets the attributes in the OrdDoc Java object, and optionally populates the CLOB specified by the comments attribute. |
void |
setSource(java.lang.String sourceType,
java.lang.String sourceLocation,
java.lang.String sourceName)
Sets the srcType, srcLocation, and srcName attributes. |
void |
setUpdateTime(java.sql.Timestamp currentTime)
Sets the updateTime attribute. |
void |
syncClientLob(oracle.jbo.domain.LobInterface newArrival)
Internal: Applications should not use this method. |
void |
syncServerLob(oracle.jbo.domain.LobInterface oldObj)
Internal: Applications should not use this method. |
java.lang.String |
toString()
Returns a String object describing this object. |
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.OrdDoc |
toDatum |
| Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public OrdDocDomain()
OrdDocDomain instance. Before it's
been inserted into the database table and selected back, this new
instance doesn't have a JDBC connection to the database. It also
doesn't have a corresponding existing database ORDSYS.ORDDoc object.public OrdDocDomain(byte[] bytes)
OrdDocDomain instance. Before it has
been inserted into the database table and selected back; this new
instance doesn't have a JDBC connection to the database. It also
doesn't have a corresponding existing database ORDSYS.ORDDoc object.
Users should use deferred loading to load the doc content into
the database.
Calling this constructor has the same effect of calling the following two statements.
OrdDocDomain doc = new OrdDocDomain();
doc.setContentSource(new OrdByteArraySource(bytes));
bytes - the byte array that contains the doc contentOrdContentSource,
OrdByteArraySourcepublic OrdDocDomain(java.lang.String fileName)
OrdDocDomain instance. Before it has
been inserted into the database table and selected back; this new
instance doesn't have a JDBC connection to the database. It also
doesn't have a corresponding existing database ORDSYS.ORDDoc object.
Users should use deferred loading to load the doc content into
the database.
Calling this constructor has the same effect of calling the following two statements.
OrdDocDomain doc = new OrdDocDomain();
doc.setContentSource(new OrdFileSource(fileName));
fileName - the doc file nameOrdContentSource,
OrdFileSourcepublic OrdDocDomain(OrdHttpUploadFile ohuf)
OrdDocDomain instance. Before it has
been inserted into the database table and selected back; this new
instance doesn't have a JDBC connection to the database. It also
doesn't have a corresponding existing database ORDSYS.ORDDoc object.
Users should use deferred loading to load the doc content into
the database.
Calling this constructor has the same effect of calling the following two statements.
OrdDocDomain doc = new OrdDocDomain();
doc.setContentSource(new OrdHttpUploadFileSource(ohuf));
ohuf - the doc content wrapped as an OrdHttpUploadFile
objectOrdContentSource,
OrdHttpUploadFileSource| Method Detail |
public static oracle.sql.CustomDatumFactory getFactory()
OrdDocDomain CustomDatumFactory for use by the
getCustomDatum method. Specify this method as the factory
parameter of the getCustomDatum method when retrieving an
OrdDocDomain object from an OracleResultSet
or OracleCallableStatement. For example:
OrdDocDomain doc = (OrdDocDomain)rset.
getCustomDatum( 1, OrdDocDomain.getFactory() );
OrdDocDomain implementation of the
CustomDatumFactory interfacepublic static oracle.sql.CustomDatumFactory getCustomDatumFactory()
public java.lang.String toString()
String object describing this object.
The format of the description is "OrdDocDomain:
<mimetype>:<length>".toString in class java.lang.ObjectString object describing this objectpublic int hashCode()
inthashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
OrdDocDomain objects by their last update time
and content length. For performance reasons, bit by bit comparison
of binary content is not done.equals in class java.lang.Objectobj - the object to be compared with this objecttrue if the two OrdDocDomain
objects have the same last update time and content length;
otherwise, returns false
public oracle.sql.BLOB getContent()
throws java.sql.SQLException
getContent in class OrdDocoracle.sql.BLOBjava.sql.SQLException - if an error occurs when accessing the localData attribute
public oracle.sql.BFILE getBFILE()
throws java.sql.SQLException
getBFILE in class OrdDocoracle.sql.BFILEjava.sql.SQLException - if an error occurs while executing the corresponding
getBFILE method in the database
public boolean isLocal()
throws java.sql.SQLException
OrdDomainIOInterfaceisLocal in interface OrdDomainIOInterfaceisLocal in class OrdDocoracle.ord.im.OrdDomainIOInterfacetrue if the data is stored locally in the database
in a BLOB; otherwise, returns falsejava.sql.SQLException - if an error occurs when accessing the
attribute called local.
public void clearLocal()
throws java.sql.SQLException
OrdDomainIOInterfaceclearLocal in interface OrdDomainIOInterfaceclearLocal in class OrdDocoracle.ord.im.OrdDomainIOInterfacejava.sql.SQLException - if an error occurs when accessing the
attribute called local.
public void setLocal()
throws java.sql.SQLException
OrdDomainIOInterfacesetLocal in interface OrdDomainIOInterfacesetLocal in class OrdDocoracle.ord.im.OrdDomainIOInterfacejava.sql.SQLException - if an error occurs when accessing the
attribute called local.
public void deleteContent()
throws java.sql.SQLException
OrdDomainIOInterfacedeleteContent in interface OrdDomainIOInterfacedeleteContent in class OrdDocoracle.ord.im.OrdDomainIOInterfacejava.sql.SQLException - if an error occurs when executing the corresponding
deleteContent method in the database.
public void importData(byte[][] ctx,
boolean setProp)
throws java.sql.SQLException
OrdDocimportData in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.setProp - a boolean that specifies whether or not to
call setProperties.java.sql.SQLException - if an error occurs executing the corresponding
import method in the database.
public void importFrom(byte[][] ctx,
java.lang.String sourceType,
java.lang.String sourceLocation,
java.lang.String sourceName,
boolean setProp)
throws java.sql.SQLException
OrdDocimportFrom in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.srcType - the source type, for example, "FILE", "HTTP".srcLocation - the source location, for example, MEDIA_DIR,
www.xyzcomedia.com/public.srcName - the source name, for example, filmclip1.mov.setProp - a boolean that specifies whether or not to
call setProperties.java.sql.SQLException - if an error occurs executing the corresponding
importFrom method in the database.
public boolean loadDataFromFile(java.lang.String filename)
throws java.sql.SQLException,
java.io.IOException
OrdDomainIOInterfaceOrdDomainIOInterface.deleteContent(), to delete any existing data in the BLOB.
OrdDomainIOInterface.setLocal(), to set the local flag.
setUpdateTime(), to set the updateTime
attribute to the database server's current SYSDATE time.
loadDataFromFile in interface OrdDomainIOInterfaceloadDataFromFile in class OrdDocoracle.ord.im.OrdDomainIOInterfacefilename - name of the file from which to load datatrue 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 when accessing an object
attribute or when executing a
method in the database.java.io.IOException - if an error occurs when reading the data file.
public boolean loadDataFromInputStream(java.io.InputStream inpStream)
throws java.sql.SQLException,
java.io.IOException
OrdDomainIOInterfaceInputStream into the database BLOB
specified by the
localData attribute. Before loading the data, this method calls the
following methods:
OrdDomainIOInterface.deleteContent(), to delete any existing data in the BLOB.
OrdDomainIOInterface.setLocal(), to set the local flag.
setUpdateTime(), to set the updateTime
attribute to the database server's current SYSDATE time.
loadDataFromInputStream in interface OrdDomainIOInterfaceloadDataFromInputStream in class OrdDocoracle.ord.im.OrdDomainIOInterfaceinpStream - the InputStream from which to load datatrue 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 when accessing an object
attribute or when executing a
method in the database.java.io.IOException - if an error occurs when reading the InputStream.
public boolean loadDataFromByteArray(byte[] byteArr)
throws java.sql.SQLException,
java.io.IOException
OrdDomainIOInterfaceOrdDomainIOInterface.deleteContent(), to delete any existing data in the BLOB.
OrdDomainIOInterface.setLocal(), to set the local flag.
setUpdateTime(), to set the updateTime
attribute to the database server's current SYSDATE time.
loadDataFromByteArray in interface OrdDomainIOInterfaceloadDataFromByteArray in class OrdDocoracle.ord.im.OrdDomainIOInterfacebyteArr - a byte[] arrary from which to load datatrue 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 when accessing an object
attribute or when executing
a method in the database.java.io.IOException - if an error occurs reading the byte array.
public int getContentLength()
throws java.sql.SQLException
getContentLength in interface OrdDomainIOInterfacegetContentLength in class OrdDocintjava.sql.SQLException - if an error occurs when accessing the contentLength
attribute
public void setContentLength(int contentLength)
throws java.sql.SQLException
setProperties sets this attribute automatically
for certain media formats; use this method only if you are not using
setProperties. This method sets the attribute value only; it does not
modify the media data itself.
setContentLength in interface OrdDomainIOInterfacesetContentLength in class OrdDoccontentLength - the new attribute valuejava.sql.SQLException - if an error occurs when accessing the contentLength
attribute
public void setMimeType(java.lang.String MimeType)
throws java.sql.SQLException
OrdDomainIOInterfacesetMimeType in interface OrdDomainIOInterfacesetMimeType in class OrdDocoracle.ord.im.OrdDomainIOInterfacemimeType - the new attribute value.java.sql.SQLException - if an error occurs when accessing the mimeType
attribute.
public java.lang.String getMimeType()
throws java.sql.SQLException
OrdDomainIOInterfacegetMimeType in interface OrdDomainIOInterfacegetMimeType in class OrdDocoracle.ord.im.OrdDomainIOInterfaceString.java.sql.SQLException - if an error occurs when accessing the mimeType
attribute.
public void setSource(java.lang.String sourceType,
java.lang.String sourceLocation,
java.lang.String sourceName)
throws java.sql.SQLException
OrdDomainIOInterfacesetSource in interface OrdDomainIOInterfacesetSource in class OrdDocoracle.ord.im.OrdDomainIOInterfacesrcType - the source type, for example, "FILE", "HTTP".srcLocation - the source location, for example, MEDIA_DIR,
www.xyzcoimages.com/public.srcName - the source name, for example, media_content.datjava.sql.SQLException - if an error occurs when accessing the srcType,
srcLocation, or srcName attributes.
public java.lang.String getSourceType()
throws java.sql.SQLException
OrdDomainIOInterfacegetSourceType in interface OrdDomainIOInterfacegetSourceType in class OrdDocoracle.ord.im.OrdDomainIOInterfaceString.java.sql.SQLException - if an error occurs when accessing the
srcType attribute.
public java.lang.String getSourceLocation()
throws java.sql.SQLException
OrdDomainIOInterfacegetSourceLocation in interface OrdDomainIOInterfacegetSourceLocation in class OrdDocoracle.ord.im.OrdDomainIOInterfaceString.java.sql.SQLException - if an error occurs when accessing the
srcLocation attribute.
public java.lang.String getSourceName()
throws java.sql.SQLException
OrdDomainIOInterfacegetSourceName in interface OrdDomainIOInterfacegetSourceName in class OrdDocoracle.ord.im.OrdDomainIOInterfaceString.java.sql.SQLException - if an error occurs when accessing the srcName
attribute.
public java.lang.String getSource()
throws java.sql.SQLException
OrdDocsrcType://srcLocation/srcName.getSource in class OrdDocoracle.ord.im.OrdDocString.java.sql.SQLException - if an error occurs executing the correspoding
getSource method in the database.
public oracle.sql.CLOB getComments()
throws java.sql.SQLException
getComments in class OrdDocoracle.sql.CLOBjava.sql.SQLException - if an error occurs when accessing the comments attribute
public void setComments(oracle.sql.CLOB comments)
throws java.sql.SQLException
setProperties method.
setComments in class OrdDoccomments - the new attribute valuejava.sql.SQLException - if an error occurs when accessing the comments
attribute
public java.lang.String getFormat()
throws java.sql.SQLException
OrdDocgetFormat in class OrdDocoracle.ord.im.OrdDocString.java.sql.SQLException - if an error occurs accessing the format attribute.
public void setFormat(java.lang.String format)
throws java.sql.SQLException
OrdDoc
setProperties 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 format attribute. Note that calling the
setFormat method sets the attribute value only; it does not modify the
media data itself.
setFormat in class OrdDocoracle.ord.im.OrdDocformat - the new attribute value.java.sql.SQLException - if an error occurs accessing the format attribute.
public void setProperties()
throws java.sql.SQLException
OrdDocDomain Java object. This method sets the format, mimeType,
and contentLength attributes. An attribute is set to null if the
corresponding property cannot be extracted for a specific media
format. This method throws a SQLException if the media format
is not recognized.
setProperties(byte[][], boolean) instead of this
method. Otherwise, this method may fail.
setProperties in interface OrdDomainIOInterfacejava.sql.SQLException - if an error occurs while executing the corresponding
setProperties method in the database
public void setProperties(byte[][] ctx,
boolean setComments)
throws java.sql.SQLException
OrdDocsetComments is true, this method also
populates the CLOB specified by the comments attribute with all
extracted properties in XML form. If setComments is
false, the comments attribute is not modified. This method throws
a SQLException if the media format is not recognized.
setProperties in class OrdDocoracle.ord.im.OrdDocctx - the format plug-in context information.setComments - a boolean 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 trimSource(byte[][] ctx,
int newLen)
throws java.sql.SQLException
OrdDocNot 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" source types do not support writable data sources 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, if you call the openSource
method before calling trimSource, your application should work with any
current or future source plug-ins.
trimSource in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.new - the length to which the data is to be trimmed.int, where 0 indicates success and
a non-0 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 int openSource(byte[] userarg,
byte[][] ctx)
throws java.sql.SQLException
OrdDocopenSource in class OrdDocoracle.ord.im.OrdDocuserarg - additional source plug-in information that may be required
by user-defined source plug-ins.ctx - the source plug-in context information.int, where 0 indicates success and
a non-0 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
OrdDoccloseSource in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.int, where 0 indicates success and
a non-0 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 byte[] processSourceCommand(byte[][] ctx,
java.lang.String cmd,
java.lang.String args,
byte[][] result)
throws java.sql.SQLException
OrdDocprocessSourceCommand in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.cmd - the command to be executed by the source plug-in.args - the command arguments.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 void setUpdateTime(java.sql.Timestamp currentTime)
throws java.sql.SQLException
OrdDomainIOInterfacesetUpdateTime in interface OrdDomainIOInterfacesetUpdateTime in class OrdDocoracle.ord.im.OrdDomainIOInterfacecurrentTime - the update time in a java.sql.Timestamp,
or null to set the update time to the
database server's current SYSDATE time.java.sql.SQLException - if an error occurs when executing the corresponding
setUpdateTime method in the database.
public java.sql.Timestamp getUpdateTime()
throws java.sql.SQLException
OrdDomainIOInterfacegetUpdateTime in interface OrdDomainIOInterfacegetUpdateTime in class OrdDocoracle.ord.im.OrdDomainIOInterfacejava.sql.Timestamp.java.sql.SQLException - if an error occurs when accessing the
updateTime attribute.
public int readFromSource(byte[][] ctx,
int startpos,
int numbytes,
byte[][] buffer)
throws java.sql.SQLException
OrdDoc
Not all source plug-ins require that the data source be opened before it
can be read. However, if you call the openSource
method before calling readFromSource, your application should work with
any current or future source plug-ins.
readFromSource in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.startpos - the start position in the data source.numbytes - the number of bytes to read from the data source.buffer - a byte[][] array of the form [1][n],
where n >= numbytesint.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
OrdDocNot 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" source types do not support writable data sources 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, if you call the openSource
method before calling writeToSource, your application should work with
any current or future source plug-ins.
writeToSource in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.startpos - the start position in the data source.numbytes - the number of bytes to write 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 oracle.sql.BLOB getContentInLob(byte[][] ctx,
java.lang.String[] mimetype,
java.lang.String[] format)
throws java.sql.SQLException
getContentInLob in class OrdDocctx - the format plug-in context informationmimetype - a String[] array, 1 element in length, into
which the mimeType attribute is written as element 0format - a String[] array, 1 element in length, into
which the format attribute is written as element 0oracle.sql.BLOBjava.sql.SQLException - if an error occurs while creating the temporary BLOB or
while executing the corresponding getContentInLob method
in the database
public void export(byte[][] ctx,
java.lang.String sourceType,
java.lang.String sourceLocation,
java.lang.String sourceName)
throws java.sql.SQLException
OrdDocNot all source plug-ins support the export method. For example, the "FILE" source type is the only Oracle-supplied source type that supports the export method. In addition, this method is supported only by Oracle database server release 8.1.7 or later.
The remainder of this description illustrates the use of the export method and the Oracle-supplied "FILE" source plug-in. User-written plug-ins will have different behaviors.
The export method implemented by the Oracle-supplied "FILE" source plug-in copies the media data from the BLOB specified by the localData attribute, but does not modify the media data stored in the database BLOB in any way.
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
OrdDoc.clearLocal() method to indicate the media data is stored outside
the database and call the OrdDoc.deleteContent() method to delete the
media data stored in the database BLOB.
The export method in the database writes only to a database directory object that the user has privilege to access. That is, you can access a directory that you have created using the SQL CREATE DIRECTORY statement, or one to which you have been granted READ access. To execute the CREATE DIRECTORY statement, you must have the CREATE ANY DIRECTORY privilege. In addition, you must use the DBMS_JAVA.GRANT_PERMISSION method to specify which files can be written.
For example, the following SQL*Plus command grants the user,
MEDIAUSER, the permission to write to the file named
filmclip1.mov.
CALL DBMS_JAVA.GRANT_PERMISSION(
'MEDIAUSER',
'java.io.FilePermission',
'/media/movies/filmclip1.mov',
'write');
The previous example illustrates how to authorize access to write to a
single file. In addition, there are various wildcard path specifications
that authorize write access to multiple directories and file names.
For example, a path specification that ends in "/*" (where
"/" is the operating-system dependent file separator
character) indicates all the files contained in the specified directory.
A path specification that ends with "/-" indicates all files
contained in the specified directory and all its subdirectories. A
pathname consisting of the special token
"<<ALL FILES>>" authorizes access to any file.
See the security and performance section in Oracle Java Developer's Guide and the java.io.FilePermission class in the Java API for more information.
export in class OrdDocoracle.ord.im.OrdDocctx - the source plug-in context information.srcType - the source type, for example, "FILE".srcLocation - the source location, for example, MEDIA_DIR.srcName - the source name, for example, filmclip1.mov.java.sql.SQLException - if an error occurs executing the corresponding export
method in the database.
public boolean getDataInFile(java.lang.String filename)
throws java.sql.SQLException,
java.io.IOException
OrdDomainIOInterfacegetDataInFile in interface OrdDomainIOInterfacegetDataInFile in class OrdDocoracle.ord.im.OrdDomainIOInterfacefilename - name of the file to which the data is to 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 when accessing an object attribute.java.io.IOException - if an error occurs when reading the data from the BLOB
or when writing the data to the output file.
public java.io.InputStream getDataInStream()
throws java.sql.SQLException
OrdDomainIOInterfacegetDataInStream in interface OrdDomainIOInterfacegetDataInStream in class OrdDocoracle.ord.im.OrdDomainIOInterfaceInputStream from which the data can be read.java.sql.SQLException - if an error occurs when accessing an object attribute.
public byte[] getDataInByteArray()
throws java.sql.SQLException,
java.io.IOException,
java.lang.OutOfMemoryError
OrdDomainIOInterfacegetDataInByteArray in interface OrdDomainIOInterfacegetDataInByteArray in class OrdDocoracle.ord.im.OrdDomainIOInterfacebyte[] array containing the data.java.sql.SQLException - if an error occurs when accessing an object attribute.java.io.IOException - if an error occurs when reading the data from the BLOB.java.lang.OutOfMemoryError - if sufficient memory cannot be allocated to
hold the data.
public oracle.jbo.domain.BlobDomain getContentAsBlobDomain()
throws java.sql.SQLException
OrdDomainIOInterfaceBlobDomain object which wraps the
BLOB locator from the localData attribute.getContentAsBlobDomain in interface OrdDomainIOInterfaceoracle.ord.im.OrdDomainIOInterfaceBlobDomain objectjava.sql.SQLException - if an error occurs in calling
getContent method.OrdImage.getContent(),
OrdAudio.getContent(),
OrdVideo.getContent(),
OrdDoc.getContent()
public oracle.jbo.domain.BFileDomain getBFileDomain()
throws java.sql.SQLException
OrdDomainIOInterfaceBFileDomain object which wraps the
BFILE locator obtained from the getBFILE method.getBFileDomain in interface OrdDomainIOInterfaceoracle.ord.im.OrdDomainIOInterfaceBFileDomain objectjava.sql.SQLException - if an error occurs in calling
getBFILE method.OrdImage.getBFILE(),
OrdAudio.getBFILE(),
OrdVideo.getBFILE(),
OrdDoc.getBFILE()
public oracle.jbo.domain.ClobDomain getCommentsAsClobDomain()
throws java.sql.SQLException
ClobDomain object which wraps the
CLOB locator obtained from the getComments() method.ClobDomain objectjava.sql.SQLException - if an error occurs while calling the
getComments methodpublic void setContentSource(OrdContentSource source)
OrdDomainIOInterfaceOrdHttpUploadFile object. The loading of content
from the client into the database doesn't happen inside this method. It's
deferred to the next postChanges method call.
If the source parameter is null, this method just resets
the previously set content source.
In 3Tier environment, this method registers the domain object in the
client post listener list so the content won't be replicated from CT to
MT. The content will be streamed to the database directly after the
postChanges.
setContentSource in interface OrdDomainIOInterfaceoracle.ord.im.OrdDomainIOInterfacesource - the content source for the deferred loadingOrdContentSourcepublic OrdContentSource getContentSource()
OrdDomainIOInterfacesetContentSource method.getContentSource in interface OrdDomainIOInterfaceoracle.ord.im.OrdDomainIOInterface
public oracle.sql.CustomDatum create(oracle.sql.Datum d,
int sqlType)
throws java.sql.SQLException
create in class OrdDocpublic static oracle.jbo.domain.XMLDomainFactory getXMLDomainFactory(java.lang.Class attrClass)
public org.w3c.dom.Node getXMLContentNode(org.w3c.dom.Document xmlDoc)
getXMLContentNode in interface oracle.jbo.domain.XMLDomainInterfacepublic java.lang.Object createDomainFromSerializedXML(org.w3c.dom.Element element)
createDomainFromSerializedXML in interface oracle.jbo.domain.XMLDomainReaderFactorypublic org.w3c.dom.Node getSerializedDomainXML(org.w3c.dom.Document xmlDoc)
getSerializedDomainXML in interface oracle.jbo.domain.XMLDomainWriterxmlDoc - name of the XML document in which the node should be created.
public java.lang.String printXMLDefinition(java.util.Hashtable allDefs,
java.io.PrintWriter pw,
boolean bContainees)
printXMLDefinition in interface oracle.jbo.domain.XMLDomainInterfacepublic void domainToBeModified(oracle.jbo.domain.DomainInterface d)
domainToBeModified in interface oracle.jbo.domain.DomainOwnerInterfacepublic java.lang.Object getAttribute(int index)
getAttribute in interface oracle.jbo.AttributeListpublic java.lang.Object getAttribute(java.lang.String name)
getAttribute in interface oracle.jbo.AttributeList
public void setAttribute(int index,
java.lang.Object value)
setAttribute in interface oracle.jbo.AttributeList
public void setAttribute(java.lang.String name,
java.lang.Object value)
setAttribute in interface oracle.jbo.AttributeListpublic int getAttributeCount()
getAttributeCount in interface oracle.jbo.AttributeListpublic int getAttributeIndexOf(java.lang.String name)
getAttributeIndexOf in interface oracle.jbo.AttributeListpublic java.lang.String[] getAttributeNames()
getAttributeNames in interface oracle.jbo.AttributeListpublic java.lang.Object[] getAttributeValues()
getAttributeValues in interface oracle.jbo.AttributeListpublic void syncServerLob(oracle.jbo.domain.LobInterface oldObj)
syncServerLob in interface oracle.jbo.domain.LobInterfacepublic void syncClientLob(oracle.jbo.domain.LobInterface newArrival)
syncClientLob in interface oracle.jbo.domain.LobInterfacepublic long getSize()
getSize in interface oracle.jbo.domain.LobInterfacepublic java.lang.String getRemoteIdString()
getRemoteIdString in interface oracle.jbo.domain.LobInterface
public void saveToDatabase(oracle.jbo.Transaction xAct)
throws java.sql.SQLException
saveToDatabase in interface oracle.jbo.domain.BlobDomainInterface
public void saveToDatabase(oracle.jbo.Transaction xAct,
java.lang.Object emptySQLObject)
throws java.sql.SQLException,
java.io.IOException
saveToDatabase in interface oracle.jbo.domain.BlobDomainInterfacepublic void prepareForDML(java.lang.Object context)
prepareForDML in interface oracle.jbo.domain.BlobDomainInterface
public void loadFromDatabase(oracle.jbo.Transaction xAct)
throws java.lang.Exception
loadFromDatabase in interface oracle.jbo.domain.BlobDomainInterfacepublic oracle.jbo.domain.DomainOwnerInterface getOwner()
getOwner in interface oracle.jbo.domain.LobInterfacepublic int getOwnerAttributeIndex()
getOwnerAttributeIndex in interface oracle.jbo.domain.LobInterfacepublic java.lang.Object getData()
getData in interface oracle.jbo.domain.DomainInterface
public void setContext(oracle.jbo.domain.DomainOwnerInterface owner,
oracle.jbo.Transaction trans,
java.lang.Object ctx)
setContext in interface oracle.jbo.domain.DomainInterfacepublic boolean isConnected()
OrdDomainStateisConnected in interface OrdDomainStateoracle.ord.im.OrdDomainStatetrue if the there exists an internal JDBC
connection; otherwise, returns false
public int getTierInfo()
OrdDomainStateThe returned value indicates the tier information.
getTierInfo in interface OrdDomainStatepublic void removeListenerFromTransaction()
OrdDomainStateremoveListenerFromTransaction in interface OrdDomainStatepublic void doneCommit(oracle.jbo.TransactionStateEvent event)
doneCommit in interface oracle.jbo.TransactionStateListenerpublic void doneRollback(oracle.jbo.TransactionStateEvent event)
doneRollback in interface oracle.jbo.TransactionStateListenerpublic void setContentSourceOnly(OrdContentSource source)
OrdDomainIOInterfacesetContentSourceOnly in interface OrdDomainIOInterfacepublic void setCTPassivationHandle(java.lang.Object handle)
setCTPassivationHandle in interface OrdDomainSupportInterfacepublic java.lang.Object getCTPassivationHandle()
getCTPassivationHandle in interface OrdDomainSupportInterfacepublic void prepareCTPassivation()
prepareCTPassivation in interface OrdDomainSupportInterfacepublic void clearContentSource()
OrdDomainIOInterfaceclearContentSource in interface OrdDomainIOInterface
|
interMedia BC4J Integration | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||