Business Components

oracle.jbo.domain
Class Array

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

public class Array
extends java.lang.Object
implements DomainOwnerInterface, DomainInterface, XMLDomainInterface, oracle.sql.CustomDatum, java.io.Serializable

This class provides a lightweight wrapper for oracle.sql.ARRAY, the Java representation of the ARRAY database type. This wrapper allows an instance of the oracle.sql.ARRAY to be used as an immutable Domain object. This class also provides a wrapper for the data that comes from nested tables and nested arrays.

Since:
JDeveloper 3.0
See Also:
Serialized Form

Constructor Summary
protected Array()
          Constructs an instance of this class.
  Array(oracle.sql.ArrayDescriptor descriptor, java.sql.Connection conn, byte[] bytes)
          Internal: Applications should not use this constructor.
  Array(oracle.sql.ArrayDescriptor type, java.sql.Connection conn, java.lang.Object elements)
          Internal: Applications should not use this constructor.
  Array(oracle.sql.Datum d)
          Internal: Applications should not use this constructor.
 
Method Summary
 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.
 java.lang.Object[] getArray()
          Returns the elements of this array into an Object array.
static oracle.sql.CustomDatumFactory getCustomDatumFactory()
          Internal: Applications should not use this method.
 java.lang.Object getData()
          Internal: Applications should not use this method.
protected  java.lang.String getElemXMLElementTag()
          Returns the classname of this domain, appended with the name of the attribute as XML-element tag for this domain-attribute.
 org.w3c.dom.Node getXMLContentNode(org.w3c.dom.Document xmlDoc)
          Creates the XML node in the given xml document for this domain's data.
protected  java.lang.String getXMLElementTag()
          Returns this class name as XML-element tag for this Array domain object.
protected  boolean isElemXMLCData()
          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 setContext(DomainOwnerInterface owner, Transaction trans, java.lang.Object fac)
          Internal: Applications should not use this method.
 oracle.sql.Datum toDatum(oracle.jdbc.driver.OracleConnection conn)
          Internal: Applications should not use this method.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Array

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

Array

public Array(oracle.sql.ArrayDescriptor type,
             java.sql.Connection conn,
             java.lang.Object elements)
      throws java.sql.SQLException
Internal: Applications should not use this constructor.

Array

public Array(oracle.sql.ArrayDescriptor descriptor,
             java.sql.Connection conn,
             byte[] bytes)
      throws java.sql.SQLException
Internal: Applications should not use this constructor.

Array

public Array(oracle.sql.Datum d)
      throws java.sql.SQLException
Internal: Applications should not use this constructor.
Method Detail

getCustomDatumFactory

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

toDatum

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

getData

public java.lang.Object getData()
Internal: Applications should not use this method.
Specified by:
getData in interface DomainInterface
Tags copied from interface: DomainInterface
Returns:
a formatted value object.

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 fac)
Internal: Applications should not use this method.
Specified by:
setContext in interface DomainInterface

getArray

public java.lang.Object[] getArray()
Returns the elements of this array into an Object array. The elements are converted to the Java types corresponding to the SQL type of the data in the original array.
Returns:
an Object array that contains the array elements.

equals

public boolean equals(java.lang.Object obj)
Tests this for equality with another object.
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.

getXMLElementTag

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

getElemXMLElementTag

protected java.lang.String getElemXMLElementTag()
Returns the classname 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.

isElemXMLCData

protected boolean isElemXMLCData()
Returns false always. Override to determine whether the given domain-attribute is to be rendered in CDATA format in xml.

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 - the XML document in which the node is to 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: <?bc4j remove?> then, invokes remove() on this row.
Parameters:
rowElt - the XML element from which the attribute values should be read.

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.

Business Components