Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 2 (11.1.2.2.0)

E17483-03


oracle.jbo.domain
Class DBSequence

java.lang.Object
  extended by oracle.jbo.domain.DBSequence

All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable, DomainInterface, KeyAttributeInterface, NativeTypeDomainInterface, XMLDomainInterface, XMLDomainWriter

public class DBSequence
extends java.lang.Object
implements NativeTypeDomainInterface, XMLDomainWriter, java.io.Serializable, KeyAttributeInterface, java.lang.Comparable

A lightweight, tier-independent wrapper that allows working with attributes that should get their number values from database sequence on insert of a new row.

If you designated an Entity Object attribute to be of type DBSequence, the framework assumes that the attribute value will be refreshed when that Entity Object is posted to the database This implementation assumes that there is an insert-trigger on the table corresponding to the Entity Object, that populates the corresponding column value with a number when the Entity is inserted into the database.

At runtime when a new Entity instance is created, this domain automatically fills in a temporary negative value as a place-holder for the attribute that is marked to be of DBSequence type. When the new Entity is posted, this value is updated from the database.

Since:
JDeveloper 3.2.3
See Also:
EntityImpl, Serialized Form
javabean.class
name=DBSequence

Field Summary
static java.lang.String AM_IMPL_CLIENT
           

 

Constructor Summary
DBSequence()
          Internal: Applications should not use this constructor.
DBSequence(java.math.BigDecimal num)
          Create an instance of DBSequence with the given number as its value.
DBSequence(java.math.BigInteger num)
          Create an instance of DBSequence with the given number as its value.
DBSequence(DBSequence seq)
          Internal: Applications should not invoke this method.
DBSequence(java.lang.Integer num)
          Create an instance of DBSequence with the given number as its value.
DBSequence(java.lang.Long num)
          Create an instance of DBSequence with the given number as its value.
DBSequence(Number num)
          Create an instance of DBSequence with the given number as its value.
DBSequence(java.lang.String numberString)
          Internal: Applications should not invoke this method.
DBSequence(java.lang.String seqName, ApplicationModule am)
          Uses the given sequence name to get a Sequence value that is stored for the value of this DBSequence instance

 

Method Summary
 int compareTo(java.lang.Object other)
          Returns -1 if DBSequence is less than other's value, 0 if DBSequence and other are equal, 1 if DBSequence is greater than other's value.
static java.lang.Long createInstanceWithAM(ApplicationModule am)
          Deprecated. since 9.0.3. Use new instance of this class to get the next value.
 boolean equals(java.lang.Object other)
          Test if the specified value is equal to this Sequence object.
 byte[] getBytes()
          Internal: Applications should not invoke this method. Converts this domain value into a bytes, so that the oracle.jbo.Key object can render this domain into a short string form.
 java.lang.Object getData()
          Internal: Applications should not invoke this method.
 java.lang.Object getNativeObject()
           
static ORADataFactory getORADataFactory()
          Internal: Applications should not invoke this method.
 Number getSequenceNumber()
          Returns the value of this Sequence as an oracle.jbo.domain.Number
 Node getSerializedDomainXML(Document xmlDoc)
          Creates the xml node in the given xml document for this domain's data in hex format of the byte[] representation of the data.
 long getValue()
          Return this domain's value as long.
 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.
 int hashCode()
          Computes a hash code for this Sequence object.
 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.
 void setBytes(byte[] bArr)
          Passes in the bytes that represent the value of this object.
 void setContext(DomainOwnerInterface owner, Transaction trans, java.lang.Object ctx)
          Internal: Applications should not use this method.
 Datum toDatum(java.sql.Connection conn)
          Internal: Applications should not invoke this method.
 java.lang.String toString()
          For testing purposes only: Returns a string representation of the generated sequence value.

 

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

 

Field Detail

AM_IMPL_CLIENT

public static final java.lang.String AM_IMPL_CLIENT
See Also:
Constant Field Values

Constructor Detail

DBSequence

public DBSequence()
Internal: Applications should not use this constructor.

DBSequence

public DBSequence(java.math.BigInteger num)
Create an instance of DBSequence with the given number as its value.

DBSequence

public DBSequence(java.math.BigDecimal num)
Create an instance of DBSequence with the given number as its value.

DBSequence

public DBSequence(java.lang.Long num)
Create an instance of DBSequence with the given number as its value.

DBSequence

public DBSequence(java.lang.Integer num)
Create an instance of DBSequence with the given number as its value.

DBSequence

public DBSequence(Number num)
Create an instance of DBSequence with the given number as its value.

DBSequence

public DBSequence(DBSequence seq)
Internal: Applications should not invoke this method.

DBSequence

public DBSequence(java.lang.String numberString)
Internal: Applications should not invoke this method.

Called from AttributeDef for default values only.


DBSequence

public DBSequence(java.lang.String seqName,
                  ApplicationModule am)
Uses the given sequence name to get a Sequence value that is stored for the value of this DBSequence instance

This method will increment the specified database sequence when it is invoked.

Parameters:
seqName - The name of the database sequence that will be used to generate sequence values.
am - The application module instance that will provide the JDBC connection and the marshalling context for the sequence requests.

Method Detail

getORADataFactory

public static ORADataFactory getORADataFactory()
Internal: Applications should not invoke this method.

Initializes the Number Domain. This method is invoked when JBO is initialized.

Returns:
the ORADataFactory for the Number Domain.

getNativeObject

public java.lang.Object getNativeObject()
Specified by:
getNativeObject in interface NativeTypeDomainInterface

getValue

public long getValue()
Return this domain's value as long. This method may be used to access the value for this domain in EL-expressions.
javabean.property

getData

public java.lang.Object getData()
Internal: Applications should not invoke this method.
Specified by:
getData in interface DomainInterface
Returns:
The value that this sequence object represents

setContext

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

getSequenceNumber

public Number getSequenceNumber()
Returns the value of this Sequence as an oracle.jbo.domain.Number
javabean.property

toString

public java.lang.String toString()
For testing purposes only: Returns a string representation of the generated sequence value.
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Test if the specified value is equal to this Sequence object.
Overrides:
equals in class java.lang.Object
Parameters:
other - The object to which the Sequence should be compared.
Returns:
true The specified object is equal to the this Sequence.

compareTo

public int compareTo(java.lang.Object other)
Returns -1 if DBSequence is less than other's value, 0 if DBSequence and other are equal, 1 if DBSequence is greater than other's value.
Specified by:
compareTo in interface java.lang.Comparable
Parameters:
other - input Oracle DBSequence
Returns:
integer result of comparison

hashCode

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

createInstanceWithAM

public static java.lang.Long createInstanceWithAM(ApplicationModule am)
Deprecated. since 9.0.3. Use new instance of this class to get the next value.
A class method that may be invoked to retrieve the next value from a database sequence.
Parameters:
am - The application module instance that will provide the JDBC connection for the sequence request

toDatum

public Datum toDatum(java.sql.Connection conn)
              throws java.sql.SQLException
Internal: Applications should not invoke this method.

Converts this Number Domain object back into an SQL NUMBER object.

Parameters:
conn - OracleConnection Not used.
Returns:
A Datum containing NUMBER object.
Throws:
SQLException - Never.
java.sql.SQLException

getBytes

public byte[] getBytes()
Internal: Applications should not invoke this method. Converts this domain value into a bytes, so that the oracle.jbo.Key object can render this domain into a short string form.
Specified by:
getBytes in interface KeyAttributeInterface
Returns:
a byte array representing this object

setBytes

public void setBytes(byte[] bArr)
Passes in the bytes that represent the value of this object. This method is to be used by the oracle.jbo.Key object to pass in key value read from a stream in byte array format.
Specified by:
setBytes in interface KeyAttributeInterface

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.

getXMLContentNode

public Node getXMLContentNode(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.

getSerializedDomainXML

public Node getSerializedDomainXML(Document xmlDoc)
Creates the xml node in the given xml document for this domain's data in hex format of the byte[] representation of the data.
Specified by:
getSerializedDomainXML in interface XMLDomainWriter
Parameters:
xmlDoc - name of the XML document in which the node should be created.

getXMLDomainFactory

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

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 2 (11.1.2.2.0)

E17483-03


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