Oracle9i Business Components for Java InterMedia API Reference
Oracle9i JDeveloper (9.0.4)
B10394-01

oracle.ord.im
Class OrdImageDomain

java.lang.Object
  |
  +--oracle.ord.im.OrdImageBase
        |
        +--oracle.ord.im.OrdImage
              |
              +--oracle.ord.im.OrdImageDomain
All Implemented Interfaces:
oracle.jbo.AttributeList, oracle.jbo.domain.BlobDomainInterface, oracle.sql.CustomDatum, oracle.sql.CustomDatumFactory, oracle.jbo.domain.DomainInterface, oracle.jbo.domain.DomainOwnerInterface, java.util.EventListener, oracle.jbo.domain.LobInterface, oracle.jbo.domain.MarshalledDomain, oracle.jbo.domain.MutableDomainInterface, oracle.jdbc.internal.ObjectData, oracle.jdbc.internal.ObjectDataFactory, OrdDomainIOInterface, OrdDomainState, OrdDomainSupportInterface, java.io.Serializable, oracle.jbo.TransactionStateListener, oracle.jbo.domain.XMLDomainInterface, oracle.jbo.domain.XMLDomainReaderFactory, oracle.jbo.domain.XMLDomainWriter, oracle.jbo.domain.XMLValueFactory

public class OrdImageDomain
extends OrdImage
implements OrdDomainIOInterface, OrdDomainState, OrdDomainSupportInterface, oracle.jbo.AttributeList, oracle.jbo.domain.LobInterface, oracle.jbo.domain.DomainOwnerInterface, oracle.jbo.domain.XMLDomainReaderFactory, oracle.jbo.domain.XMLDomainWriter, java.io.Serializable, oracle.jbo.TransactionStateListener, oracle.jbo.domain.MarshalledDomain

Represents interMedia ORDSYS.ORDImage database type as a domain class in the Business Component 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:

The BC4J tier independent counterparts of these two methods are the following:

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

Since:
JDev3.2
See Also:
OrdImage, Serialized Form

Field Summary

 

Fields inherited from class oracle.ord.im.OrdImageBase
_SQL_NAME, _SQL_TYPECODE

 

Constructor Summary
OrdImageDomain()
          Constructs a new OrdImageDomain instance.
OrdImageDomain(byte[] bytes)
          Constructs a new OrdImageDomain instance.
OrdImageDomain(OrdHttpUploadFile ohuf)
          Constructs a new OrdImageDomain instance.
OrdImageDomain(java.lang.String fileName)
          Constructs a new OrdImageDomain instance.

 

Method Summary
 boolean checkProperties()
          Checks if the properties of the image data are consistent with the attributes of the OrdImage Java object.
 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.
 void copy(OrdImage dest)
          Copies an OrdImage Java object.
 oracle.sql.CustomDatum create(oracle.sql.Datum d, int sqlType)
          Internal method used only by the Oracle CustomDatum interface.
 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 OrdImageDomain 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.
 java.lang.String getCompressionFormat()
          Returns the compressionFormat attribute.
 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.
 java.lang.String getContentFormat()
          Returns the contentFormat attribute.
 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 OrdImageDomain CustomDatumFactory for use by the getCustomDatum method.
 java.lang.String getFormat()
          Returns the fileFormat attribute.
 int getHeight()
          Returns the height 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.
 int getWidth()
          Returns the width 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)
          Imports data from an external source into the database BLOB specified by the localData attribute.
 void importFrom(byte[][] ctx, java.lang.String sourceType, java.lang.String sourceLocation, java.lang.String sourceName)
          Imports data from an external source into the database BLOB specified by the localData attribute.
 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.
 oracle.svcmsg.ResponseValues marshal()
           
 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.
 void process(java.lang.String cmd)
          Performs one or more image processing operations on the image data in the database BLOB specified by the localData attribute.
 void processCopy(java.lang.String cmd, OrdImage dest)
          Copies the image data to the destination object and performs one or more image processing operations on the image data.
 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 setCompressionFormat(java.lang.String CompressionFormat)
          Sets the compressionFormat attribute.
 void setContentFormat(java.lang.String ContentFormat)
          Sets the contentFormat attribute.
 void setContentLength(int newContentLength)
          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 fileFormat attribute.
 void setHeight(int height)
          Sets the height 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 image data properties and sets the attributes in the OrdImageDomain Java object.
 void setProperties(java.lang.String cmd)
          Writes the characteristics of a foreign image into the appropriate attribute fields.
 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 setWidth(int width)
          Sets the width 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.

 

Methods inherited from class oracle.ord.im.OrdImageBase
toDatum

 

Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait

 

Constructor Detail

OrdImageDomain

public OrdImageDomain()
Constructs a new OrdImageDomain 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.ORDImage object.

OrdImageDomain

public OrdImageDomain(byte[] bytes)
Constructs a new OrdImageDomain 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.ORDImage object. Users should use deferred loading to load the image content into the database.

Calling this constructor has the same effect of calling the following two statements.

     OrdImageDomain image = new OrdImageDomain();
     image.setContentSource(new OrdByteArraySource(bytes));
Parameters:
bytes - the byte array that contains the image content
See Also:
OrdContentSource, OrdByteArraySource

OrdImageDomain

public OrdImageDomain(java.lang.String fileName)
Constructs a new OrdImageDomain 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.ORDImage object. Users should use deferred loading to load the image content into the database.

Calling this constructor has the same effect of calling the following two statements.

     OrdImageDomain image = new OrdImageDomain();
     image.setContentSource(new OrdFileSource(fileName));
Parameters:
fileName - the image file name
See Also:
OrdContentSource, OrdFileSource

OrdImageDomain

public OrdImageDomain(OrdHttpUploadFile ohuf)
Constructs a new OrdImageDomain 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.ORDImage object. Users should use deferred loading to load the image content into the database.

Calling this constructor has the same effect of calling the following two statements.

     OrdImageDomain image = new OrdImageDomain();
     image.setContentSource(new OrdHttpUploadFileSource(ohuf));
Parameters:
ohuf - the image content wrapped as an OrdHttpUploadFile object
See Also:
OrdContentSource, OrdHttpUploadFileSource
Method Detail

getFactory

public static oracle.sql.CustomDatumFactory getFactory()
Returns the OrdImageDomain CustomDatumFactory for use by the getCustomDatum method. Specify this method as the factory parameter of the getCustomDatum method when retrieving an OrdImageDomain object from an OracleResultSet or OracleCallableStatement. For example:
  OrdImageDomain img = (OrdImageDomain)rset.
                         getCustomDatum( 1, OrdImageDomain.getFactory() );
Returns:
the OrdImageDomain implementation of the CustomDatumFactory interface

getCustomDatumFactory

public static oracle.sql.CustomDatumFactory getCustomDatumFactory()
Internal: Applications should not use this method.

toString

public java.lang.String toString()
Returns a String object describing this object. The format of the description is "OrdImageDomain: <mimetype>:<length>".
Overrides:
toString in class java.lang.Object
Returns:
a String object describing this object

hashCode

public int hashCode()
Returns the hash code as a int
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Compares two OrdImageDomain objects by their last update time and content length. For performance reasons, bit by bit comparison of binary content is not done.
Overrides:
equals in class java.lang.Object
Parameters:
obj - the object to be compared with this object
Returns:
true if the two OrdImageDomain objects have the same last update time and content length; otherwise, returns false

getContent

public oracle.sql.BLOB getContent()
                           throws java.sql.SQLException
Returns the BLOB locator from the localData attribute.
Note
local mode only
Overrides:
getContent in class OrdImage
Returns:
an oracle.sql.BLOB
Throws:
java.sql.SQLException - if an error occurs when accessing the localData attribute

getBFILE

public oracle.sql.BFILE getBFILE()
                          throws java.sql.SQLException
Returns a BFILE locator from the database when 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.
Note
local mode only
Overrides:
getBFILE in class OrdImage
Returns:
an oracle.sql.BFILE.
Throws:
java.sql.SQLException - if an error occurs while executing the corresponding getBFILE method in the database

isLocal

public boolean isLocal()
                throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Determines whether the content data is stored locally in the database in a BLOB specified by the localData attribute.
Specified by:
isLocal in interface OrdDomainIOInterface
Overrides:
isLocal in class OrdImage
Returns:
true if the data is stored locally in the database in a BLOB; otherwise, returns false
Throws:
java.sql.SQLException - if an error occurs when accessing the attribute called local.

clearLocal

public void clearLocal()
                throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Clears the attribute called local to indicate that the content data is stored externally.
Specified by:
clearLocal in interface OrdDomainIOInterface
Overrides:
clearLocal in class OrdImage
Throws:
java.sql.SQLException - if an error occurs when accessing the attribute called local.

setLocal

public void setLocal()
              throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
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.
Specified by:
setLocal in interface OrdDomainIOInterface
Overrides:
setLocal in class OrdImage
Throws:
java.sql.SQLException - if an error occurs when accessing the attribute called local.

deleteContent

public void deleteContent()
                   throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Deletes any data stored in the database BLOB specified by the localData attribute.
Specified by:
deleteContent in interface OrdDomainIOInterface
Overrides:
deleteContent in class OrdImage
Throws:
java.sql.SQLException - if an error occurs when executing the corresponding deleteContent method in the database.

importData

public void importData(byte[][] ctx)
                throws java.sql.SQLException
Description copied from class: OrdImage
Imports data from an external source into the database BLOB specified by the localData attribute. The external data source is specified by the srcType, srcLocation, and srcName attributes. After importing the image data, by default, this method automatically calls the setProperties method in the database to set the property attributes. If you are importing a foreign image whose format is not understood by interMedia, call setFormat to set the fileFormat to a String beginning with "OTHER" to disable the automatic call to setProperties.
Overrides:
importData in class OrdImage
Parameters:
ctx - the source plug-in context information.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding import method or the setProperties method in the database.

importFrom

public void importFrom(byte[][] ctx,
                       java.lang.String sourceType,
                       java.lang.String sourceLocation,
                       java.lang.String sourceName)
                throws java.sql.SQLException
Description copied from class: OrdImage
Imports data from an external source into the database BLOB specified by the localData 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. After importing the image data, by default, this method automatically calls the setProperties method in the database to set the property attributes. If you are importing a foreign image whose format is not understood by interMedia, call setFormat to set the fileFormat to "OTHER" to disable the automatic call to setProperties.
Overrides:
importFrom in class OrdImage
Parameters:
ctx - the source plug-in context information.
sourceType - the source type, for example, "FILE", "HTTP".
sourceLocation - the source location, for example, IMAGES_DIR, www.xyzcoimages.com/public.
sourceName - the source name, for example, scenery1.jpg.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding importFrom method or the setProperties method in the database.

loadDataFromFile

public boolean loadDataFromFile(java.lang.String filename)
                         throws java.sql.SQLException,
                                java.io.IOException
Description copied from interface: OrdDomainIOInterface
Loads data from a file into the database BLOB specified by the localData attribute. Before loading the data, this method calls the following methods:
Specified by:
loadDataFromFile in interface OrdDomainIOInterface
Overrides:
loadDataFromFile in class OrdImage
Parameters:
filename - name of the file from which to load data
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 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.

loadDataFromInputStream

public boolean loadDataFromInputStream(java.io.InputStream inpStream)
                                throws java.sql.SQLException,
                                       java.io.IOException
Description copied from interface: OrdDomainIOInterface
Loads data from an InputStream into the database BLOB specified by the localData attribute. Before loading the data, this method calls the following methods:
Specified by:
loadDataFromInputStream in interface OrdDomainIOInterface
Overrides:
loadDataFromInputStream in class OrdImage
Parameters:
inpStream - the InputStream from which to load data
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 when accessing an object attribute or when executing a method in the database.
java.io.IOException - if an error occurs when reading the InputStream.

loadDataFromByteArray

public boolean loadDataFromByteArray(byte[] byteArr)
                              throws java.sql.SQLException,
                                     java.io.IOException
Description copied from interface: OrdDomainIOInterface
Loads data from a byte array into the database BLOB specified by the localData attribute. Before loading the data, this method calls the following methods:
Specified by:
loadDataFromByteArray in interface OrdDomainIOInterface
Overrides:
loadDataFromByteArray in class OrdImage
Returns:
true if the data is loaded successfully; otherwise, an exception is raised if an error occurs. This method never returns false.
Throws:
java.io.IOException - if an error occurs reading the byte array.
java.sql.SQLException - if an error occurs when accessing an object attribute or when executing a method in the database.

process

public void process(java.lang.String cmd)
             throws java.sql.SQLException
Description copied from class: OrdImage
Performs one or more image processing operations on the image data in the database BLOB specified by the localData attribute. This method calls the corresponding process method in the database to perform the image processing operations specified by the cmd parameter. See Oracle interMedia User's Guide and Reference for more information on the various image processing operations that can be performed on an image.
Overrides:
process in class OrdImage
Parameters:
cmd - a String that specifies a list of image processing operations to perform on the image.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding process method in the database.

setCompressionFormat

public void setCompressionFormat(java.lang.String CompressionFormat)
                          throws java.sql.SQLException
Description copied from class: OrdImage
Sets the compressionFormat attribute.
Note
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.
Overrides:
setCompressionFormat in class OrdImage
Parameters:
CompressionFormat - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the compressionFormat attribute.

getCompressionFormat

public java.lang.String getCompressionFormat()
                                      throws java.sql.SQLException
Description copied from class: OrdImage
Returns the compressionFormat attribute.
Overrides:
getCompressionFormat in class OrdImage
Returns:
the compressionFormat attribute as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the compressionFormat attribute.

setContentFormat

public void setContentFormat(java.lang.String ContentFormat)
                      throws java.sql.SQLException
Description copied from class: OrdImage
Sets the contentFormat attribute.
Note
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.
Overrides:
setContentFormat in class OrdImage
Parameters:
ContentFormat - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the contentFormat attribute.

getContentFormat

public java.lang.String getContentFormat()
                                  throws java.sql.SQLException
Description copied from class: OrdImage
Returns the contentFormat attribute.
Overrides:
getContentFormat in class OrdImage
Returns:
the contentFormat attribute as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the contentFormat attribute.

setContentLength

public void setContentLength(int newContentLength)
                      throws java.sql.SQLException
Sets the contentLength attribute.
Note
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.
Specified by:
setContentLength in interface OrdDomainIOInterface
Overrides:
setContentLength in class OrdImage
Throws:
java.sql.SQLException - if an error occurs when accessing the contentLength attribute
See Also:
OrdImage.setContentLength(int), OrdDoc.setContentLength(int)

getContentLength

public int getContentLength()
                     throws java.sql.SQLException
Returns the contentLength attribute.
Specified by:
getContentLength in interface OrdDomainIOInterface
Overrides:
getContentLength in class OrdImage
Returns:
the contentLength attribute as an int
Throws:
java.sql.SQLException - if an error occurs when accessing the contentLength attribute
See Also:
OrdImage.getContentLength(), OrdDoc.getContentLength(), OrdAudio.getContentLength(), OrdVideo.getContentLength()

getFormat

public java.lang.String getFormat()
                           throws java.sql.SQLException
Description copied from class: OrdImage
Returns the fileFormat attribute.
Overrides:
getFormat in class OrdImage
Returns:
the fileFormat attribute as a String.
Throws:
java.sql.SQLException - if an error occurs accessing the fileFormat attribute.

setFormat

public void setFormat(java.lang.String format)
               throws java.sql.SQLException
Description copied from class: OrdImage
Sets the fileFormat attribute.
Note
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. Set the fileFormat attribute to a String beginning with "OTHER" to disable the automatic call to setProperties by the importData and importFrom methods.
Overrides:
setFormat in class OrdImage
Parameters:
format - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the fileFormat attribute.

setMimeType

public void setMimeType(java.lang.String MimeType)
                 throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Sets the mimeType attribute.
Specified by:
setMimeType in interface OrdDomainIOInterface
Overrides:
setMimeType in class OrdImage
Throws:
java.sql.SQLException - if an error occurs when accessing the mimeType attribute.

getMimeType

public java.lang.String getMimeType()
                             throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns the mimeType attribute.
Specified by:
getMimeType in interface OrdDomainIOInterface
Overrides:
getMimeType in class OrdImage
Returns:
the mimeType attribute as a String.
Throws:
java.sql.SQLException - if an error occurs when accessing the mimeType attribute.

setSource

public void setSource(java.lang.String sourceType,
                      java.lang.String sourceLocation,
                      java.lang.String sourceName)
               throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Sets the srcType, srcLocation, and srcName attributes.
Specified by:
setSource in interface OrdDomainIOInterface
Overrides:
setSource in class OrdImage
Parameters:
sourceType - the source type, for example, "FILE", "HTTP".
sourceLocation - the source location, for example, MEDIA_DIR, www.xyzcoimages.com/public.
sourceName - the source name, for example, media_content.dat
Throws:
java.sql.SQLException - if an error occurs when accessing the srcType, srcLocation, or srcName attributes.

getSourceType

public java.lang.String getSourceType()
                               throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns the srcType attribute. For example, "FILE" or "HTTP".
Specified by:
getSourceType in interface OrdDomainIOInterface
Overrides:
getSourceType in class OrdImage
Returns:
the srcType attribute as a String.
Throws:
java.sql.SQLException - if an error occurs when accessing the srcType attribute.

getSourceLocation

public java.lang.String getSourceLocation()
                                   throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns the srcLocation attribute. For example, IMAGES_DIR or www.xyzcoimages.com/public.
Specified by:
getSourceLocation in interface OrdDomainIOInterface
Overrides:
getSourceLocation in class OrdImage
Returns:
the srcLocation attribute as a String.
Throws:
java.sql.SQLException - if an error occurs when accessing the srcLocation attribute.

getSourceName

public java.lang.String getSourceName()
                               throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns the srcName attribute. For example, scenery1.jpg.
Specified by:
getSourceName in interface OrdDomainIOInterface
Overrides:
getSourceName in class OrdImage
Returns:
the srcName attribute as a String.
Throws:
java.sql.SQLException - if an error occurs when accessing the srcName attribute.

getSource

public java.lang.String getSource()
                           throws java.sql.SQLException
Description copied from class: OrdImage
Returns the source information in the form srcType://srcLocation/srcName.
Overrides:
getSource in class OrdImage
Returns:
the source information as a String.
Throws:
java.sql.SQLException - if an error occurs executing the correspoding getSource method in the database.

checkProperties

public boolean checkProperties()
                        throws java.sql.SQLException
Description copied from class: OrdImage
Checks if the properties of the image data are consistent with the attributes of the OrdImage Java object.
Overrides:
checkProperties in class OrdImage
Returns:
true if the properties of the image data are consistent with the attributes of the OrdImage Java object; false otherwise.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding checkProperties method in the database.

setProperties

public void setProperties()
                   throws java.sql.SQLException
Parses the image data properties and sets the attributes in the OrdImageDomain Java object. This method sets the height , width, contentLength, fileFormat, contentFormat, compressionFormat, and mimeType attributes. An attribute is set to null if the corresponding property cannot be extracted for a specific image format. This method throws a SQLException if the image format is not recognized.
Specified by:
setProperties in interface OrdDomainIOInterface
Overrides:
setProperties in class OrdImage
Throws:
java.sql.SQLException - if an error occurs while executing the corresponding setProperties method in the database
See Also:
setProperties(), OrdAudioDomain.setProperties(), OrdVideoDomain.setProperties(), OrdDocDomain.setProperties()

setProperties

public void setProperties(java.lang.String cmd)
                   throws java.sql.SQLException
Description copied from class: OrdImage
Writes the characteristics of a foreign image into the appropriate attribute fields. This method sets various attributes of the OrdImage object based on a set of characteristics that describe the image properties. With this information, Oracle interMedia is able to process certain foreign image formats. See Oracle interMedia User's Guide and Reference for more information on setting image characteristics for foreign images.
Overrides:
setProperties in class OrdImage
Parameters:
cmd - a String that specifies the image characteristics to set for the foreign image.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding setProperties method in the database.

setUpdateTime

public void setUpdateTime(java.sql.Timestamp currentTime)
                   throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Sets the updateTime attribute. This method sets the updateTime attribute to the specified time, or to the database server's current SYSDATE time if currentTime is specified as null.
Specified by:
setUpdateTime in interface OrdDomainIOInterface
Overrides:
setUpdateTime in class OrdImage
Parameters:
currentTime - the update time in a java.sql.Timestamp, or null to set the update time to the database server's current SYSDATE time.
Throws:
java.sql.SQLException - if an error occurs when executing the corresponding setUpdateTime method in the database.

getUpdateTime

public java.sql.Timestamp getUpdateTime()
                                 throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns the updateTime attribute.
Specified by:
getUpdateTime in interface OrdDomainIOInterface
Overrides:
getUpdateTime in class OrdImage
Returns:
the lastUpdate attribute as a java.sql.Timestamp.
Throws:
java.sql.SQLException - if an error occurs when accessing the updateTime attribute.

getWidth

public int getWidth()
             throws java.sql.SQLException
Description copied from class: OrdImage
Returns the width attribute.
Overrides:
getWidth in class OrdImage
Returns:
the width attribute as an int.
Throws:
java.sql.SQLException - if an error occurs accessing the width attribute.

setWidth

public void setWidth(int width)
              throws java.sql.SQLException
Description copied from class: OrdImage
Sets the width attribute.
Note
setProperties sets this attribute automatically for certain image formats; use this method only if you are not using setProperties. This method sets the attribute value only; it does not modify the image data itself.
Overrides:
setWidth in class OrdImage
Parameters:
width - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the width attribute.

getHeight

public int getHeight()
              throws java.sql.SQLException
Description copied from class: OrdImage
Returns the height attribute.
Overrides:
getHeight in class OrdImage
Returns:
the height attribute as an int.
Throws:
java.sql.SQLException - if an error occurs accessing the height attribute.

setHeight

public void setHeight(int height)
               throws java.sql.SQLException
Description copied from class: OrdImage
Sets the height attribute.
Note
setProperties sets this attribute automatically for certain image formats; use this method only if you are not using setProperties. This method sets the attribute value only; it does not modify the image data itself.
Overrides:
setHeight in class OrdImage
Parameters:
height - the new attribute value.
Throws:
java.sql.SQLException - if an error occurs accessing the height attribute.

export

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

Not 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 image data from the BLOB specified by the localData attribute, but does not modify the image data stored in the database BLOB in any way.

After exporting the image data, all the image 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 image data within the database, call the OrdImage.clearLocal() method to indicate the image data is stored outside the database and call the OrdImage.deleteContent() method to delete the image 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 scenery1.jpg.

 CALL DBMS_JAVA.GRANT_PERMISSION(
     'MEDIAUSER',
     'java.io.FilePermission',
     '/images/outdoors/scenery1.jpg',
     '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.

Overrides:
export in class OrdImage
Parameters:
ctx - the source plug-in context information.
sourceType - the source type, for example, "FILE".
sourceLocation - the source location, for example, IMAGES_DIR.
sourceName - the source name, for example, scenery1.jpg.
Throws:
java.sql.SQLException - if an error occurs executing the corresponding export method in the database.

copy

public void copy(OrdImage dest)
          throws java.sql.SQLException
Description copied from class: OrdImage
Copies an OrdImage Java object. This method calls the corresponding copy method in the database. The copy method copies all the attributes of the current OrdImage object to the destination OrdImage object with the exception of the BLOB specified by the localData attribiute. If the image data is stored locally in the database, then the data is copied from the BLOB specified by localData attribute in the current OrdImage object to the BLOB specified by the localData attribute in the destination object.
Overrides:
copy in class OrdImage
Parameters:
dest - the destination OrdImage object.
Throws:
java.sql.SQLException - if an error occurs calling the corresponding copy method in the database.

processCopy

public void processCopy(java.lang.String cmd,
OrdImage dest)
                 throws java.sql.SQLException
Description copied from class: OrdImage
Copies the image data to the destination object and performs one or more image processing operations on the image data. If the source image data is stored externally to the database, then it is imported into the database BLOB specified by the localData attribute in the destination OrdImage object. Otherwise, the image data is copied from the BLOB specified by localData attribute in the current OrdImage object to the BLOB specified by the localData attribute in the destination object.
Overrides:
processCopy in class OrdImage
Parameters:
cmd - a String that specifies a list of image processing operations to perform on the image.
dest - the destination OrdImage object.
Throws:
java.sql.SQLException - if an error occurs calling the corresponding processCopy method in the database.

getDataInFile

public boolean getDataInFile(java.lang.String filename)
                      throws java.sql.SQLException,
                             java.io.IOException
Description copied from interface: OrdDomainIOInterface
Writes the data from the database BLOB specified by the localData attribute to a local file.
Specified by:
getDataInFile in interface OrdDomainIOInterface
Overrides:
getDataInFile in class OrdImage
Parameters:
filename - name of the file to which the data is to 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.io.IOException - if an error occurs when reading the data from the BLOB or when writing the data to the output file.
java.sql.SQLException - if an error occurs when accessing an object attribute.

getDataInStream

public java.io.InputStream getDataInStream()
                                    throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns an InputStream from which the data in the database BLOB specified by the localData attribute can be read.
Specified by:
getDataInStream in interface OrdDomainIOInterface
Overrides:
getDataInStream in class OrdImage
Returns:
an InputStream from which the data can be read.
Throws:
java.sql.SQLException - if an error occurs when accessing an object attribute.

getDataInByteArray

public byte[] getDataInByteArray()
                          throws java.sql.SQLException,
                                 java.io.IOException,
                                 java.lang.OutOfMemoryError
Description copied from interface: OrdDomainIOInterface
Returns a byte array containing the data from the database BLOB specified by the localData attribute.
Specified by:
getDataInByteArray in interface OrdDomainIOInterface
Overrides:
getDataInByteArray in class OrdImage
Returns:
a byte[] array containing the data.
Throws:
java.lang.OutOfMemoryError - if sufficient memory cannot be allocated to hold 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.

getContentAsBlobDomain

public oracle.jbo.domain.BlobDomain getContentAsBlobDomain()
                                                    throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns a BlobDomain object which wraps the BLOB locator from the localData attribute.
Specified by:
getContentAsBlobDomain in interface OrdDomainIOInterface
Returns:
a BlobDomain object
Throws:
java.sql.SQLException - if an error occurs in calling getContent method.
See Also:
OrdImage.getContent(), OrdAudio.getContent(), OrdVideo.getContent(), OrdDoc.getContent()

getBFileDomain

public oracle.jbo.domain.BFileDomain getBFileDomain()
                                             throws java.sql.SQLException
Description copied from interface: OrdDomainIOInterface
Returns a BFileDomain object which wraps the BFILE locator obtained from the getBFILE method.
Specified by:
getBFileDomain in interface OrdDomainIOInterface
Returns:
a BFileDomain object
Throws:
java.sql.SQLException - if an error occurs in calling getBFILE method.
See Also:
OrdImage.getBFILE(), OrdAudio.getBFILE(), OrdVideo.getBFILE(), OrdDoc.getBFILE()

setContentSource

public void setContentSource(OrdContentSource source)
Description copied from interface: OrdDomainIOInterface
Sets the content source for deferred loading. Three predefined content source implementations support loading content from a file, a byte array, or a OrdHttpUploadFile 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.

Specified by:
setContentSource in interface OrdDomainIOInterface
Parameters:
source - the content source for the deferred loading
See Also:
OrdContentSource

getContentSource

public OrdContentSource getContentSource()
Description copied from interface: OrdDomainIOInterface
Gets the content source which was previously set by the setContentSource method.
Specified by:
getContentSource in interface OrdDomainIOInterface
Returns:
the content source object

create

public oracle.sql.CustomDatum create(oracle.sql.Datum d,
                                     int sqlType)
                              throws java.sql.SQLException
Description copied from class: OrdImage
Internal method used only by the Oracle CustomDatum interface. Applications should not call this method.
Specified by:
create in interface oracle.sql.CustomDatumFactory
Overrides:
create in class OrdImage
java.sql.SQLException

getXMLDomainFactory

public static oracle.jbo.domain.XMLDomainFactory getXMLDomainFactory(java.lang.Class attrClass)
Internal: Applications should not use this method.

getXMLContentNode

public org.w3c.dom.Node getXMLContentNode(org.w3c.dom.Document xmlDoc)
Internal: Applications should not use this method.
Specified by:
getXMLContentNode in interface oracle.jbo.domain.XMLDomainInterface

createDomainFromSerializedXML

public java.lang.Object createDomainFromSerializedXML(org.w3c.dom.Element element)
Create a domain instance by reading the xml-data out of the given xml-node.
Specified by:
createDomainFromSerializedXML in interface oracle.jbo.domain.XMLDomainReaderFactory

getSerializedDomainXML

public org.w3c.dom.Node getSerializedDomainXML(org.w3c.dom.Document xmlDoc)
Creates the XML node in the given XML document for this domain's data.
Specified by:
getSerializedDomainXML in interface oracle.jbo.domain.XMLDomainWriter
Parameters:
xmlDoc - name of the XML document in which the node should be created.

printXMLDefinition

public java.lang.String printXMLDefinition(java.util.Hashtable allDefs,
                                           java.io.PrintWriter pw,
                                           boolean bContainees)
Internal: Applications should not use this method.
Specified by:
printXMLDefinition in interface oracle.jbo.domain.XMLDomainInterface

domainToBeModified

public void domainToBeModified(oracle.jbo.domain.DomainInterface d)
Internal: Applications should not use this method.
Specified by:
domainToBeModified in interface oracle.jbo.domain.DomainOwnerInterface

getAttribute

public java.lang.Object getAttribute(int index)
Internal: Applications should not use this method.
Specified by:
getAttribute in interface oracle.jbo.AttributeList

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Internal: Applications should not use this method.
Specified by:
getAttribute in interface oracle.jbo.AttributeList

setAttribute

public void setAttribute(int index,
                         java.lang.Object value)
Internal: Applications should not use this method.
Specified by:
setAttribute in interface oracle.jbo.AttributeList

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Internal: Applications should not use this method.
Specified by:
setAttribute in interface oracle.jbo.AttributeList

getAttributeCount

public int getAttributeCount()
Internal: Applications should not use this method.
Specified by:
getAttributeCount in interface oracle.jbo.AttributeList

getAttributeIndexOf

public int getAttributeIndexOf(java.lang.String name)
Internal: Applications should not use this method.
Specified by:
getAttributeIndexOf in interface oracle.jbo.AttributeList

getAttributeNames

public java.lang.String[] getAttributeNames()
Specified by:
getAttributeNames in interface oracle.jbo.AttributeList

getAttributeValues

public java.lang.Object[] getAttributeValues()
Specified by:
getAttributeValues in interface oracle.jbo.AttributeList

syncServerLob

public void syncServerLob(oracle.jbo.domain.LobInterface oldObj)
Internal: Applications should not use this method.
Specified by:
syncServerLob in interface oracle.jbo.domain.LobInterface

syncClientLob

public void syncClientLob(oracle.jbo.domain.LobInterface newArrival)
Internal: Applications should not use this method.
Specified by:
syncClientLob in interface oracle.jbo.domain.LobInterface

getSize

public long getSize()
Internal: Applications should not use this method.
Specified by:
getSize in interface oracle.jbo.domain.LobInterface

getRemoteIdString

public java.lang.String getRemoteIdString()
Internal: Applications should not use this method.
Specified by:
getRemoteIdString in interface oracle.jbo.domain.LobInterface

saveToDatabase

public void saveToDatabase(oracle.jbo.Transaction xAct)
                    throws java.sql.SQLException
Internal: Applications should not use this method.
Specified by:
saveToDatabase in interface oracle.jbo.domain.BlobDomainInterface
java.sql.SQLException

saveToDatabase

public void saveToDatabase(oracle.jbo.Transaction xAct,
                           java.lang.Object emptySQLObject)
                    throws java.sql.SQLException,
                           java.io.IOException
Internal: Applications should not use this method.
Specified by:
saveToDatabase in interface oracle.jbo.domain.BlobDomainInterface
java.sql.SQLException
java.io.IOException

prepareForDML

public void prepareForDML(java.lang.Object context)
Internal: Applications should not use this method.
Specified by:
prepareForDML in interface oracle.jbo.domain.BlobDomainInterface

loadFromDatabase

public void loadFromDatabase(oracle.jbo.Transaction xAct)
                      throws java.lang.Exception
Internal: Applications should not use this method.
Specified by:
loadFromDatabase in interface oracle.jbo.domain.BlobDomainInterface
java.lang.Exception

getOwner

public oracle.jbo.domain.DomainOwnerInterface getOwner()
Internal: Applications should not use this method.
Specified by:
getOwner in interface oracle.jbo.domain.LobInterface

getOwnerAttributeIndex

public int getOwnerAttributeIndex()
Internal: Applications should not use this method.
Specified by:
getOwnerAttributeIndex in interface oracle.jbo.domain.LobInterface

getData

public java.lang.Object getData()
Internal: Applications should not use this method.
Specified by:
getData in interface oracle.jbo.domain.DomainInterface

setContext

public void setContext(oracle.jbo.domain.DomainOwnerInterface owner,
                       oracle.jbo.Transaction trans,
                       java.lang.Object ctx)
Internal: Applications should not use this method.
Specified by:
setContext in interface oracle.jbo.domain.DomainInterface

marshal

public oracle.svcmsg.ResponseValues marshal()
Specified by:
marshal in interface oracle.jbo.domain.MarshalledDomain

isConnected

public boolean isConnected()
Description copied from interface: OrdDomainState
Determines whether the domain object has an internal JDBC connection to the database.
Specified by:
isConnected in interface OrdDomainState
Returns:
true if the there exists an internal JDBC connection; otherwise, returns false

getTierInfo

public int getTierInfo()
Description copied from interface: OrdDomainState
Gets the tier number information that this object lives in.

The returned value indicates the tier information.

Specified by:
getTierInfo in interface OrdDomainState

removeListenerFromTransaction

public void removeListenerFromTransaction()
Description copied from interface: OrdDomainState
Internal: Applications should not use this method.
Specified by:
removeListenerFromTransaction in interface OrdDomainState

doneCommit

public void doneCommit(oracle.jbo.TransactionStateEvent event)
Internal: Applications should not use this method.
Specified by:
doneCommit in interface oracle.jbo.TransactionStateListener

doneRollback

public void doneRollback(oracle.jbo.TransactionStateEvent event)
Internal: Applications should not use this method.
Specified by:
doneRollback in interface oracle.jbo.TransactionStateListener

setContentSourceOnly

public void setContentSourceOnly(OrdContentSource source)
Internal: Applications should not use this method.
Specified by:
setContentSourceOnly in interface OrdDomainIOInterface

setCTPassivationHandle

public void setCTPassivationHandle(java.lang.Object handle)
Internal: Applications should not use this method.
Specified by:
setCTPassivationHandle in interface OrdDomainSupportInterface

getCTPassivationHandle

public java.lang.Object getCTPassivationHandle()
Internal: Applications should not use this method.
Specified by:
getCTPassivationHandle in interface OrdDomainSupportInterface

prepareCTPassivation

public void prepareCTPassivation()
Internal: Applications should not use this method.
Specified by:
prepareCTPassivation in interface OrdDomainSupportInterface

clearContentSource

public void clearContentSource()
Description copied from interface: OrdDomainIOInterface
Internal: Applications should not use this method.
Specified by:
clearContentSource in interface OrdDomainIOInterface

Oracle9i Business Components for Java InterMedia API Reference
Oracle9i JDeveloper (9.0.4)
B10394-01

Copyright © 2001,2003, Oracle. All Rights Reserved.