Oracle9i Business Components for Java Oracle Domains API Reference
Oracle9i Jdeveloper (9.0.4)
B10392-01


oracle.jbo.domain
Class Struct

java.lang.Object
  |
  +--oracle.jbo.domain.Struct
All Implemented Interfaces:
java.io.Serializable

public abstract class Struct
extends java.lang.Object
implements java.io.Serializable

This class provides a lightweight wrapper for oracle.sql.STRUCT, the Java representation of the Struct database type. This wrapper allows an instance of the oracle.sql.STRUCT to be used as a domain object.

The oracle.jbo.domain.StructDomain class is the Java representation of the underlying database type that you must use if you want to exploit the domain feature of Business Components for Java.

Since:
JDeveloper 3.0
See Also:
Serialized Form

Field Summary
protected  XMLDomainFactory[] mAttrXmlFac
          Factories for each of the attibutes if they have one.
protected  java.lang.Object mConnection
          Internal: Applications should not use this field.
protected  HashMap mContext
          Internal: Applications should not use this field.
protected  java.lang.Object mData
          Internal: Applications should not use this field.
protected  int mOwnerAttrIndex
          Index of the attribute in the domain owner's container.
protected  Transaction mTxn
          Internal: Applications should not use this field.
protected  XMLDomainFactory mXmlFac
          The factory object that creates an instance of this STRUCT given an XML element.

 

Constructor Summary
protected Struct()
          Constructs an instance of this class.
protected Struct(Datum d)
          Internal: Applications should not use this constructor.

 

Method Summary
 int[] buildAttrSQLTypes()
          Returns an array of the SQL datatypes of the attributes in this StructDomain object.
 void domainToBeModified(DomainInterface d)
          Notification method that this domain calls whenever any of its attribute values are about to be modified.
 boolean equals(java.lang.Object obj)
          Tests this for equality with another object.
static void fillObjectAttributeDefs(AttributeList al, StructureDef def, java.lang.String[] attrNames, AttributeDef[] ads)
           
abstract  CustomDatumFactory[] getAttrCustomDatumFactories()
          Returns factories that oracle.sql requires to create the attributes of this structure.
 java.lang.Object getAttribute(int index)
          Returns the attribute from this StructDomain object, given its index.
 java.lang.Object getAttribute(java.lang.String name)
          Returns the attribute from this StructDomain object, given its name.
 int getAttributeCount()
          Returns the number of attributes in this StructDomain object.
 int getAttributeIndexOf(java.lang.String name)
          Returns the index of a named attribute in this StructDomain object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Object[] getAttributeValues()
           
abstract  int[] getAttrSQLTypes()
          Returns the SQL types for the attributes of the structure.
protected  java.lang.String getAttrXMLElementTag(AttributeDef ad)
          Returns the class name of this domain, appended with the name of the attribute as xml-element tag for this domain-attribute.
abstract  java.lang.String getColumnType()
          Returns the column type of the database column that corresponds to this STRUCT.
 java.lang.Object getData()
          Internal: Applications should not use this method.
 DomainOwnerInterface getOwner()
           
 int getOwnerAttributeIndex()
           
protected  DomainOwnerInterface getOwnerRow()
           
 java.lang.String getRemoteIdString()
           
 long getSize()
           
static java.lang.Object getStructAttribute(AttributeList inAttrList, StructureDef inStructDef, java.lang.String fullAttrName)
           
abstract  StructureDef getStructureDef()
          Returns the structure definition, that describes the details of the attributes, of this domain.
 Node getXMLContentNode(Document xmlDoc)
          Creates the xml node in the given xml document for this domain's data.
static XMLDomainFactory getXMLDomainFactory(java.lang.Class attrClass)
          Internal: Applications should not use this method.
protected  java.lang.String getXMLElementTag()
          Returns this class name as xml-element tag for this Struct domain object.
 int hashCode()
          Computes a hash code for this StructDomain object.
protected  void initAttrXMLDomainFactories(AttributeDef[] attrs)
          Internal: Applications should not use this method.
protected abstract  void initStructureDef()
          Initializes the structure definition of this object and its attribute definitions.
protected  boolean isAttrXMLCData(AttributeDef ad)
          Returns false always.
 void loadFromDatabase(Transaction transaction)
          Internal: Applications should not use this method.
 ResponseValues marshal()
           
 void prepareForDML(java.lang.Object context)
           
 java.lang.String printXMLDefinition(java.util.Hashtable allDefs, java.io.PrintWriter pw, boolean bContainees)
          Prints the DTD info for this domain in the given print writer.
protected  void readAttrsFromXML(Element rowElt)
          Reads all the attribute values from the xml-element and sets them into this row.
 void saveToDatabase(Transaction transaction)
          Internal: Applications should not use this method.
 void saveToDatabase(Transaction transaction, java.lang.Object postedSQLObject)
          Internal: Applications should not use this method.
 void setAttribute(int index, java.lang.Object value)
          Sets the value of an attribute in this StructDomain, at the given index position.
 void setAttribute(java.lang.String name, java.lang.Object value)
          Sets the value of an attribute in this StructDomain object, given the attributes's name.
 void setAttributeNoCheck(int index, java.lang.Object value)
          Sets the value of an attribute in this StructDomain object, at the given index position.
 void setContext(DomainOwnerInterface owner, Transaction trans, java.lang.Object ctx)
          Internal: Applications should not use this method.
static void setStructAttribute(AttributeList inAttrList, StructureDef inStructDef, java.lang.String fullAttrName, java.lang.Object value)
           
 void syncClientLob(LobInterface old)
           
 void syncServerLob(LobInterface old)
           
 Datum toDatum(oracle.jdbc.driver.OracleConnection conn)
          Internal: Applications should not use this method.
 java.lang.String toString()
          Internal: Applications should not use this method.

 

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

 

Field Detail

mData

protected java.lang.Object mData
Internal: Applications should not use this field.

mConnection

protected java.lang.Object mConnection
Internal: Applications should not use this field.

mTxn

protected Transaction mTxn
Internal: Applications should not use this field.

mContext

protected HashMap mContext
Internal: Applications should not use this field.

mOwnerAttrIndex

protected int mOwnerAttrIndex
Index of the attribute in the domain owner's container.

mXmlFac

protected XMLDomainFactory mXmlFac
The factory object that creates an instance of this STRUCT given an XML element.

mAttrXmlFac

protected XMLDomainFactory[] mAttrXmlFac
Factories for each of the attibutes if they have one.
Constructor Detail

Struct

protected Struct()
          throws java.sql.SQLException
Constructs an instance of this class.

Struct

protected Struct(Datum d)
          throws java.sql.SQLException
Internal: Applications should not use this constructor.
Parameters:
d - a datum object.
Throws:
java.lang.SQLException
java.sql.SQLException
Method Detail

getColumnType

public abstract java.lang.String getColumnType()
Returns the column type of the database column that corresponds to this STRUCT.
Returns:
the column type as a String.

getStructureDef

public abstract StructureDef getStructureDef()
Returns the structure definition, that describes the details of the attributes, of this domain.
Returns:
the structure definition as a StructureDef object.

getAttrSQLTypes

public abstract int[] getAttrSQLTypes()
Returns the SQL types for the attributes of the structure.

getAttrCustomDatumFactories

public abstract CustomDatumFactory[] getAttrCustomDatumFactories()
Returns factories that oracle.sql requires to create the attributes of this structure.

initStructureDef

protected abstract void initStructureDef()
Initializes the structure definition of this object and its attribute definitions.

getData

public java.lang.Object getData()
Internal: Applications should not use this method.

Converts this to a Struct JDBC object.

Returns:
the JDBC representation of this, or null, if the conversion fails.

domainToBeModified

public void domainToBeModified(DomainInterface d)
Notification method that this domain calls whenever any of its attribute values are about to be modified. This Domain should always notify its owner.
Parameters:
d - the domain being modified.

setContext

public void setContext(DomainOwnerInterface owner,
                       Transaction trans,
                       java.lang.Object ctx)
Internal: Applications should not use this method.

equals

public boolean equals(java.lang.Object obj)
Tests this for equality with another object.

The argument is converted to a STRUCT object, if necessary.

Overrides:
equals in class java.lang.Object
Parameters:
obj - an arbitrary Object.
Returns:
true if conversion was successful and the converted argument is identical to this.

hashCode

public int hashCode()
Computes a hash code for this StructDomain object.
Overrides:
hashCode in class java.lang.Object
Returns:
the hash code of this StructDomain object.

toString

public java.lang.String toString()
Internal: Applications should not use this method.

For testing purposes only. Converts this Struct object to a text representation.

Overrides:
toString in class java.lang.Object
Returns:
a String representation of this Struct object.

toDatum

public Datum toDatum(oracle.jdbc.driver.OracleConnection conn)
              throws java.sql.SQLException
Internal: Applications should not use this method.

Converts this Struct Domain object back into an SQL STRUCT object.

Returns:
A Datum containing STRUCT object.
Throws:
java.sql.SQLException - Never.

getAttribute

public java.lang.Object getAttribute(int index)
Returns the attribute from this StructDomain object, given its index.
Parameters:
index - index for the attribute in the StructDomain object.
Returns:
an attribute as an Object type.

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Returns the attribute from this StructDomain object, given its name.
Parameters:
name - name for the attribute in the StructDomain object.
Returns:
an attribute as an Object type.

setAttribute

public void setAttribute(int index,
                         java.lang.Object value)
Sets the value of an attribute in this StructDomain, at the given index position.
Parameters:
index - index for the attribute in the StructDomain object.
value - value for the attribute.

getRemoteIdString

public java.lang.String getRemoteIdString()

setAttributeNoCheck

public void setAttributeNoCheck(int index,
                                java.lang.Object value)
Sets the value of an attribute in this StructDomain object, at the given index position.
Parameters:
index - index for the attribute in the StructDomain object.
value - value for the attribute.

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Sets the value of an attribute in this StructDomain object, given the attributes's name.
Parameters:
name - name of the attribute in the StructDomain object.
value - value for the attribute.

getAttributeCount

public int getAttributeCount()
Returns the number of attributes in this StructDomain object.
Returns:
the number of attributes as an int.

getAttributeIndexOf

public int getAttributeIndexOf(java.lang.String name)
Returns the index of a named attribute in this StructDomain object.
Parameters:
name - name of an attribute in this StructDomain object.
Returns:
the index of the named attribute as an int.

buildAttrSQLTypes

public int[] buildAttrSQLTypes()
Returns an array of the SQL datatypes of the attributes in this StructDomain object.
Returns:
an array of SQL datatypes.

marshal

public ResponseValues marshal()

getXMLElementTag

protected java.lang.String getXMLElementTag()
Returns this class name as xml-element tag for this Struct domain object. Override this method to return a custom xml-element tag for this domain.

getAttrXMLElementTag

protected java.lang.String getAttrXMLElementTag(AttributeDef ad)
Returns the class name of this domain, appended with the name of the attribute as xml-element tag for this domain-attribute. Override this method to return a custom xml-element tag for the given attribute.
Parameters:
ad - the name of an AttributeDef.

isAttrXMLCData

protected boolean isAttrXMLCData(AttributeDef ad)
Returns false always. Override to determine whether the given domain-attribute is to be rendered in CDATA format in xml.
Parameters:
ad - name of an AttributeDef.

getXMLContentNode

public Node getXMLContentNode(Document xmlDoc)
Creates the xml node in the given xml document for this domain's data.
Parameters:
xmlDoc - name of the XML document in which the node should be created.

readAttrsFromXML

protected void readAttrsFromXML(Element rowElt)
Reads all the attribute values from the xml-element and sets them into this row. If the xml has a process instruction of the form: <?bc4j remove?> then, invokes remove() on this row.

printXMLDefinition

public java.lang.String printXMLDefinition(java.util.Hashtable allDefs,
                                           java.io.PrintWriter pw,
                                           boolean bContainees)
Prints the DTD info for this domain in the given print writer. Returns the DTD string to be added to this domain's container entity/domain.

The allDefs hashtable contains predefined XML definitions and is passed by whatever calls this method.

Parameters:
allDefs - a hashtable of predefined XML definitions passed from whatever calls this method.
pw - print writer into which the defnition is being printed.
bContainees - if true, prints definitions of contained objects.

getXMLDomainFactory

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

initAttrXMLDomainFactories

protected void initAttrXMLDomainFactories(AttributeDef[] attrs)
Internal: Applications should not use this method.

loadFromDatabase

public void loadFromDatabase(Transaction transaction)
                      throws java.lang.Exception
Internal: Applications should not use this method.

Loads the actual data of the LOB-type database attribute into memory.

The transaction argument is needed to perform an additional query into the database to extract the data.

This method does not need to be invoked for a new attribute.

Parameters:
transaction - the oracle.jbo.server.DBTransactionImpl of the current Application Module.
java.lang.Exception

saveToDatabase

public void saveToDatabase(Transaction transaction)
                    throws java.lang.Exception
Internal: Applications should not use this method.

Saves data in memory to a database LOB-type attribute.

The transaction argument is is needed to perform an additional query into the database to write the data.

This method does not need to be invoked if this attribute's data has not changed.

Parameters:
transaction - the oracle.jbo.server.DBTransactionImpl instance of the current Application Module.
java.lang.Exception

saveToDatabase

public void saveToDatabase(Transaction transaction,
                           java.lang.Object postedSQLObject)
                    throws java.lang.Exception
Internal: Applications should not use this method.

Uses the given transaction context to store data back into the database using the LOB-locator which should be set before this method is invoked.

java.lang.Exception

prepareForDML

public void prepareForDML(java.lang.Object context)

syncClientLob

public void syncClientLob(LobInterface old)

syncServerLob

public void syncServerLob(LobInterface old)

getOwner

public DomainOwnerInterface getOwner()

getOwnerAttributeIndex

public int getOwnerAttributeIndex()

getOwnerRow

protected DomainOwnerInterface getOwnerRow()

getSize

public long getSize()

setStructAttribute

public static void setStructAttribute(AttributeList inAttrList,
                                      StructureDef inStructDef,
                                      java.lang.String fullAttrName,
                                      java.lang.Object value)

getStructAttribute

public static java.lang.Object getStructAttribute(AttributeList inAttrList,
                                                  StructureDef inStructDef,
                                                  java.lang.String fullAttrName)

fillObjectAttributeDefs

public static void fillObjectAttributeDefs(AttributeList al,
                                           StructureDef def,
                                           java.lang.String[] attrNames,
                                           AttributeDef[] ads)

getAttributeNames

public java.lang.String[] getAttributeNames()

getAttributeValues

public java.lang.Object[] getAttributeValues()

Oracle9i Business Components for Java Oracle Domains API Reference
Oracle9i Jdeveloper (9.0.4)
B10392-01


 

Copyright © 1997, 2003, Oracle. All rights reserved.