Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Business Components
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.jbo.domain
Class Struct

    java.lang.Object
      |
      +--oracle.jbo.domain.Struct

public abstract class Struct
extends java.lang.Object
implements MutableDomainInterface, DomainOwnerInterface, XMLDomainInterface, AttributeList, oracle.sql.CustomDatum, 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 java.lang.Object[]` | `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(oracle.sql.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.
`abstract oracle.sql.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.
`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.
`abstract StructureDef` | `getStructureDef()` Returns the structure definition, that describes the details of the attributes, of this domain.
`org.w3c.dom.Node` | `getXMLContentNode(org.w3c.dom.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.
`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(org.w3c.dom.Element rowElt)` Reads all the attribute values from the xml-element and sets them into this row.
`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.
`oracle.sql.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 java.lang.Object[] 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(oracle.sql.Datum d)
              throws java.sql.SQLException

  Internal: Applications should not use this constructor.

  Parameters:
    `d` - a datum object.
  Throws:
    java.lang.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 oracle.sql.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.
  Specified by:
    domainToBeModified in interface DomainOwnerInterface
  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 oracle.sql.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.

  Specified by:
    toDatum in interface oracle.sql.CustomDatum
  Parameters:
    ``conn`` - Not used.
  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.

  Specified by:
    getAttribute in interface AttributeList
  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.

  Specified by:
    getAttribute in interface AttributeList
  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.

  Specified by:
    setAttribute in interface AttributeList
  Parameters:
    `index` - index for the attribute in the StructDomain object.
    `value` - value for the attribute.

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

  Specified by:
    setAttribute in interface AttributeList
  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.
  Specified by:
    getAttributeCount in interface AttributeList
  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.

  Specified by:
    getAttributeIndexOf in interface AttributeList
  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.

### 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 org.w3c.dom.Node getXMLContentNode(org.w3c.dom.Document xmlDoc)

  Creates the xml node in the given xml document for this domain's data.
  Specified by:
    getXMLContentNode in interface XMLDomainInterface
  Parameters:
    `xmlDoc` - name of the XML document in which the node should be created.

### readAttrsFromXML

    protected void readAttrsFromXML(org.w3c.dom.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: 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.

  Specified by:
    printXMLDefinition in interface XMLDomainInterface
  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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Business Components
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD