Oracle9i XML Reference Release 1 (9.0.1) Part Number A88899-01 |
|
public class OracleXMLQuery extends java.lang.Object
java.lang.Object
oracle.xml.sql.query.OracleXMLQuery
The OracleXMLQuery class does the generation of XML given a SQL query. Following is a very simple example:
import java.sql.*; import oracle.xml.sql.query.*; import oracle.jdbc.driver.*; public class sample { public static void main(String args[]) throws Exception { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:scott/tiger@"); OracleXMLQuery qry = new OracleXMLQuery(conn, "select * from emp"); System.out.println(qry.getXMLString()); conn.close(); } }
Inherited Member Summary |
---|
Methods inherited from class java.lang.Object |
|
public static final int DTD
The DTD is used to specified that the DTD is to be generated
public static final java.lang.String ERROR_TAG
The ERROR_TAG specifies the default tag name for the ERROR document
public static final int MAXROWS_ALL
The MAXROWS_ALL specifies that all rows be included in the result
public static final int NONE
The NONE is used to specified that no DTD is to be generated
public static final java.lang.String ROW_TAG
The ROW_TAG specifies the default tag name for the ROW elements
public static final java.lang.String ROWIDATTR_TAG
The ROWIDATTR_TAG specifies the default tag name for the ROW elements
public static final java.lang.String ROWSET_TAG
The ROWSET_TAG specifies the default tag name for the document
public static final int SCHEMA
The SCHEMA is used to specified that no XML schema is to be generated
public static final int SKIPROWS_ALL
The SKIPROWS_ALL specifies that all rows be skipped in the result.
public OracleXMLQuery(java.sql.Connection conn, java.sql.ResultSet rset)
Constructor for the OracleXMLQueryObject.
conn - database connection
rset - jdbc result set object
public OracleXMLQuery(java.sql.Connection conn, java.lang.String query)
Constructor for the OracleXMLQueryObject.
conn - database connection
query - the SQL query string
public OracleXMLQuery(oracle.xml.sql.dataset.OracleXMLDataSet dset)
Constructor for the OracleXMLQueryObject.
conn - database connection
dset - dataset
public void close()
Close any open resource, created by the OracleXML engine. This will not close for instance resultset supplied by the user
public long getNumRowsProcessed()
Returns the number of rows processed.
number of rows processed.
public org.w3c.dom.Document getXMLDOM()
Transforms the object-relational data, specified in the constructor, into a XML document.
the DOM representation of the XML document
public org.w3c.dom.Document getXMLDOM(int metaType)
Transforms the object-relational data, specified in the constructor, into a XML document. The metaType argument is used to specify the type of XML metadata the XSU is to generate along with the XML. Currently this value is ignored, and no XML metadata is generated.
metaType - the type of XML metadata (NONE, SCHEMA)
the string representation of the XML document
public org.w3c.dom.Document getXMLDOM(org.w3c.dom.Node root)
Transforms the object-relational data, specified in the constructor, into XML. If not NULL, the root argument, is considered the "root" element of the XML doc.
root - root node to which to append the new XML
the string representation of the XML document
public org.w3c.dom.Document getXMLDOM(org.w3c.dom.Node root, int metaType)
Transforms the object-relational data, specified in the constructor, into XML. If not NULL, the root argument, is considered the "root" element of the XML doc. The metaType argument is used to specify the type of XML metadata the XSU is to generate along with the XML. Currently this value is ignored, and no XML metadata is generated.
root - root node to which to append the new XML
metaType - the type of XML metadata (NONE, SCHEMA)
the string representation of the XML document
public java.lang.String getXMLMetaData(int metaType, boolean withVer)
This functions returns the DTD or the XMLSchema for the XML document which would have been generated by a getXML call. The "metaType" parameter specifies the type of XML metadata to be generated. The withVer parameter specifies if version header is to be generated or not.
metaType - XML meta data type to generate (NONE or DTD)
withVer - generate the version PI ?
public void getXMLSAX(org.xml.sax.ContentHandler sax)
Transforms the object-relational data, specified in the constructor, into a XML document.
sax - ContentHandler object to be registered
public org.w3c.dom.Document[] getXMLSchema()
This methods generated the XML Schema(s) corresponding to the specified query.
the XML Schema(s)
public java.lang.String getXMLString()
Transforms the object-relational data, specified in the constructor, into a XML document.
the string representation of the XML document
public java.lang.String getXMLString(int metaType)
Transforms the object-relational data, specified in the constructor, into a XML document. The metaType argument is used to specify the type of XML metadata the XSU is to generate along with the XML. Valid values for the metaType argument are NONE and DTD (static fields of this class).
metaType - the type of XML metadata (NONE, DTD, or SCHEMA)
the string representation of the XML document
public java.lang.String getXMLString(org.w3c.dom.Node root)
Transforms the object-relational data, specified in the constructor, into XML. If not NULL, the root argument, is considered the "root" element of the XML doc.
root - root node to which to append the new XML
the string representation of the XML document
public java.lang.String getXMLString(org.w3c.dom.Node root, int metaType)
Transforms the object-relational data, specified in the constructor, into XML. If not NULL, the root argument, is considered the "root" element of the XML doc. The metaType argument is used to specify the type of XML metadata the XSU is to generate along with the XML. Valid values for the metaType argument are NONE and DTD (static fields of this class). Note that if the root argument is non-null, no DTD is generated even if requested.
root - root node to which to append the new XML
metaType - the type of XML metadata (NONE, DTD, or SCHEMA)
the string representation of the XML document
public void keepObjectOpen(boolean alive)
The default behavior for all the getXML functions which DO NOT TAKE in a ResultSet object is to close the ResultSet object and Statement objects at the end of the call. If you need to use the persistant feature, where by calling getXML repeatedly you get the next set of rows, you need to turn off this behavior by calling this function with value true. i.e. OracleXMLQuery would not close the ResultSet and Statement objects after the getXML calls. You can call the close() function to explicitly close the cursor state.
alive - keep object open ?
public void removeXSLTParam(java.lang.String name)
Removes the value of a top-level stylesheet parameter. NOTE: if no stylesheet is registered, this method is a no op.
name - parameter name
public void setCollIdAttrName(java.lang.String attrName)
Sets the name of the id attribute of the collection element's separator tag. Passing null or an empty string for the tag results the row id attribute to be omitted.
attrName - attribute name
public void setDataHeader(java.io.Reader header, java.lang.String docTag)
Sets the xml data header. The data header is an XML entity which is appended at the begining of the query-generated xml entity (ie. rowset). The two entities are enclosed by the tag specified via the docTag argument. Note that the last data header specified is the one that is used; furthermore, passing in null for the header, parameter unsets the data header.
header - header
tag - tag used to enclose the data header and the rowset
public void setDateFormat(java.lang.String mask)
Sets the format of the generated dates in the XML doc. The syntax of the date format patern (i.e. the date mask), should conform to the requirements of the java.text.SimpleDateFormat class. Setting the mask to null or an empty string, unsets the date mask.
mask - the date mask
public void setEncoding(java.lang.String enc)
Sets the encoding PI (processing instruction) in the XML doc. If null or an empty string are specified as the encoding, then the default characterset is specified in the encoding PI.
enc - characterset encoding of the XML doc
public void setErrorTag(java.lang.String tag)
Sets the tag to be used to enclose the xml error docs.
tag - tag name
public void setException(java.lang.Exception e)
Allows the user to pass in an exception, and have the XSU handle it.
e - the exception to be processed by the XSU.
public void setMaxRows(int rows)
Sets the max number of rows to be converted to XML. By default there is no max set. To explicitly specify no max see MAXROWS_ALL.
rows - max number of rows to generate
public void setMetaHeader(java.io.Reader header)
Sets the XML meta header. When set, the header is inserted at the begining of the metadata part (DTD or XMLSchema) of each XML document generated by this object. Note that the last meta header specified is the one that is used; furthermore, passing in null for the header, parameter unsets the meta header.
header - header
public void setRaiseException(boolean flag)
Tells the XSU to throw the raised exceptions. If this call isn't made or if false is passed to the flag argument, the XSU catches the SQL exceptions and generates an XML doc out of the exception's message.
flag - throw raised exceptions?
public void setRaiseNoRowsException(boolean flag)
Tells the XSU to throw or not to throw an OracleXMLNoRowsException in the case when for one reason or another, the XML doc generated is empty. By default, the exception is not thrown.
flag - throw OracleXMLNoRowsException if no data found?
public void setRowIdAttrName(java.lang.String attrName)
Sets the name of the id attribute of the row enclosing tag. Passing null or an empty string for the tag results the row id attribute to be omitted.
attrName - attribute name
public void setRowIdAttrValue(java.lang.String colName)
Specifies the scalar column whose value is to be assigned to the id attribute of the row enclosing tag. Passing null or an empty string for the colName results the row id attribute being assigned the row count value (i.e. 0, 1, 2 and so on).
colName - column whose value is to be assigned to the row id attr
public void setRowsetTag(java.lang.String tag)
Sets the tag to be used to enclose the xml dataset.
tag - tag name
public void setRowTag(java.lang.String tag)
Sets the tag to be used to enclose the xml element corresponding to a db. record.
tag - tag name
public void setSkipRows(int rows)
Sets the number of rows to skip. By default 0 rows are skipped. To skip all the rows use SKIPROWS_ALL.
rows - number of rows to skip
public void setStylesheetHeader(java.lang.String uri)
Sets the stylesheet header (i.e. stylesheet processing instructions) in the generated XML doc. Note: Passing null for the uri argument will unset the stylesheet header and the stylesheet type.
uri - stylesheet URI
public void setStylesheetHeader(java.lang.String uri, java.lang.String type)
Sets the stylesheet header (i.e. stylesheet processing instructions) in the generated XML doc. Note: Passing null for the uri argument will unset the stylesheet header and the stylesheet type.
uri - stylesheet URI
type - stylesheet type; defaults to 'text/xsl'
public void setXSLT(java.io.Reader stylesheet, java.lang.String ref)
Registers a XSL transform to be applied to generated XML. If a stylesheet was already registered, it gets replaced by the new one. To un-register the stylesheet pass in a null for the stylesheet argument.
stylesheet - the stylesheet
ref - URL for include, import and external entities
public void setXSLT(java.lang.String stylesheet, java.lang.String ref)
Registers a XSL transform to be applied to generated XML. If a stylesheet was already registered, it gets replaced by the new one. To un-register the stylesheet pass in a null for the stylesheet argument.
stylesheet - the stylesheet URI
ref - URL for include, import and external entities
public void setXSLTParam(java.lang.String name, java.lang.String value)
Sets the value of a top-level stylesheet parameter. The parameter value is expected to be a valid XPath expression (note that string literal values would therefore have to be explicitly quoted). NOTE: if no stylesheet is registered, this method is a no op.
name - parameter name
value - parameter value as an XPATH expression
public void useLowerCaseTagNames()
This will set the case to be lower for all tag names. Note, make this call after all the desired tags have been set.
public void useNullAttributeIndicator(boolean flag)
Specified weather to use an XML attribute to indicate NULLness, or to do it by omitting the inclusion of the particular entity in the XML document.
flag - use attribute to indicate null?
public void useTypeForCollElemTag(boolean flag)
By default the tag name for elements of a collection is the collection's tag name followed by "_item". This method, when called with argument of true, tells the XSU to use the collection element's type name as the collection element tag name.
flag - use the coll. elem. type as its tag name?
public void useUpperCaseTagNames()
This will set the case to be upper for all tag names. Note, make this call after all the desired tags have been set.
public class OracleXMLSave extends java.lang.Object java.lang.Object | +--oracle.xml.sql.dml.OracleXMLSave
OracleXMLSave - this class supports canonical mapping from XML to object-relational tables or views. It supports inserts, updates and deletes. The user first creates the class by passing in the table name on which these DML operations need to be done. After that, the user is free to use the insert/update/delete on this table. A typical sequence might look like
OracleXMLSave sav = new OracleXMLSave(conn, "emp"); // insert processing sav.insertXML(xmlDoc); -or- // Update processing String[]tempArr = new String[2]; tempArr[0] = "EMPNO"; // set the empno as the key for updates.. sav.setKeyColumnList(tempArray); sav.updateXML(xmlDoc); -or- sav.deleteXML(xmlDoc); sav.close();
A lot of useful functions are provided in this class to help in identifying the key columns for update or delete and to restrict the columns being updated.
Inherited Member Summary |
---|
Methods inherited from class java.lang.Object |
|
public static final java.lang.String DATE_FORMAT
The date format for use in setDateFormat
public static int DEFAULT_BATCH_SIZE
default insert batch size is 17
public OracleXMLSave(java.sql.Connection oconn, java.lang.String tabName)
The public constructor for the Save class.
oconn - Connection object (connection to the database)
tableName - The name of the table that should be updated
public void cleanLobList()
public void close()
It closes/deallocates all the context associated with this object.
public int deleteXML(org.w3c.dom.Document doc)
Deletes the rows in the table based on the XML document
xmlDoc - The XML document in DOM form
The number of XML ROW elements processed.
public int deleteXML(java.io.InputStream xmlStream)
Deletes the rows in the table based on the XML document
xmlDoc - The XML document in Stream form
The number of XML ROW elements processed.
public int deleteXML(java.io.Reader xmlStream)
Deletes the rows in the table based on the XML document
xmlDoc - The XML document in Stream form
The number of XML ROW elements processed.
public int deleteXML(java.lang.String xmlDoc)
Deletes the rows in the table based on the XML document
xmlDoc - The XML document in String form
The number of XML ROW elements processed.
public int deleteXML(java.net.URL url)
Deletes rows from a specified table based on the element values in the supplied XML document. By default, the delete processing matches all the element values with the corresponding column names. Each ROW element in the input document is taken as a separate delete statement on the table. By using the setKeyColumnList() you can set the list of columns that must be matched to identify the row to be deleted and ignore the other elements This is an effficient method for deleting more than one row in the table, since the delete statement is cached and batching can be employed. If not, a new delete statement has to be created for each ROW element in the input document.
For example, consider the employee table emp,
TABLE emp( empno NUMBER, ename VARCHAR2(20), hiredate DATE);
Now, you want to delete the rows in the table using an XML document and you want to identify the row based on the EMPNO value. You can send in an XML document containing the EMPNO value and call the deleteXML routine with the setKeyColumnList() containing the EMPNO string.
OracleXMLSave save = new OracleXMLSave(conn,"emp");
save.deleteXML(xmlDoc); // Deletes rows by matching all columns with the // element values in the input document.
String[] deleteArray = new String[1];
deleteArray[0] = "EMPNO";
save.setKeyColumnList(deleteArray); // set the key columns
save.deleteXML(xmlDoc); // only deletes rows by matching the EMPNO values
url - The URL to the document to use to delete the rows in the table
The number of XML row elements processed. Note that this may or may not be equal to the number of database rows deleted based on whether the rows selected through the XML document uniquely identified the rows in the table.
protected void finalize()
java.lang.Object.finalize() in class java.lang.Object
public static java.net.URL getURL(java.lang.String target)
Given a file name or a URL it return a URL object. If the argument passed is not in the valid URL format (e.g. http://.. or file://) then this method tried to fix the argument by pre-pending "file://" to the argument. If a null or an empty string are passed to it, null is returned.
target - file name or URL string
the URL object identifiying the target entity
public int insertXML(org.w3c.dom.Document doc)
public int insertXML(java.io.InputStream xmlStream)
public int insertXML(java.io.Reader xmlStream)
public int insertXML(java.lang.String xmlDoc)
public int insertXML(java.net.URL url)
Inserts an XML document from a specified URL into the specified table, By default, the insert routine inserts the values into the table by matching the element name with the column name and inserts a null value for all elements that are missing in the input document. By setting the list of columns to insert using the setUpdateColumnList() you can restrict the insert to only insert values into those columns and let the default values for other columns to be inserted. That is no null value would be inserted for the rest of the columns Use setKeyColumnList() to set the list of all key column. Use setUpdateColumnList() to set the list of columns to update.
For example, consider the employee table emp,
TABLE emp( empno NUMBER, ename VARCHAR2(20), hiredate DATE);
Now, assume that you want to insert the table using an XML document OracleXMLSave
save = new OracleXMLSave(conn,"emp");
save.insertXML(xmlDoc); // xmlDoc supplied..
save.close();
If you want to insert values only in to EMPNO, HIREDATE and SALARY and let the default values handle the rest of the columns,
String insArray = new String[3];
insArrary[0] = "EMPNO";
insArray[1] = "HIREDATE";
insArray[2] = "SALARY";
save.setUpdateColumnList(insArray);
save.insertXML(xmlDoc); // will only insert values into EMPNO, HIREDATE // and SALARY columns
url - The URL to the document to use to insert rows into the table
The number of rows inserted.
public void removeXSLTParam(java.lang.String name)
Removes the value of a top-level stylesheet parameter. NOTE: if no stylesheet is registered, this method is a no op.
name - parameter name
public void setBatchSize(int size)
This call changes the batch size used during DML operations. When performing inserts, updates or deletes, it is better to batch the operations so that the database can execute it in one shot rather than as separate statements. The flip side is that more memory is needed to hold all the bind values before the operation is done. Note that when batching is used, the commits occur only in terms of batches. So if one of the statement inside a batch fails, the whole batch is rolled back. If this behaviour is unaccepatable, then set the batch size to 1. The default batch size is DEFAULT_BATCH_SIZE;
size - The batch size to use for all DML
public void setCommitBatch(int size)
Sets the commit batch size. The commit batch size refers to the number or records inserted after which a commit should follow. Note that if commitBatch is < 1 or the session is in "auto-commit" mode then the XSU does not make any explicit commit's. By default the commit-batch size is 0.
size - commit batch size
public void setDateFormat(java.lang.String mask)
Describes to the XSU the format of the dates in the XML document. By default, OracleXMLSave assumes that the date is in format 'MM/dd/yyyy HH:mm:ss'. You can override this default format by calling this function. The syntax of the date format patern (i.e. the date mask), should conform to the requirements of the java.text.SimpleDateFormat class. Setting the mask to null or an empty string, results the use of the default mask -- OracleXMLSave.DATE_FORMAT.
mask - the date mask
public void setIgnoreCase(boolean ignore)
The XSU does mapping of XML elements to database columns/attrs. based on the element names (xml tags). This function tells the XSU to do this match case insensitive. This resetting of case may affect the metadata caching that is done when creating the Save object.
flag - ignore tag case in the XML doc? 0-false 1-true
public void setKeyColumnList(java.lang.String[] keyColNames)
Sets the list of columns to be used for identifying a particular row in the database table during update or delete. This call is ignored for the insert case. The key columns must be set before updates can be done. It is optional for deletes. When this key columns is set, then the values from these tags in the XML document is used to identify the database row for update or delete. Currently, there is no way to update the values of the key columns themselves, since there is no way in the XML document to specify that case
keyColNames - The names of the list of columns that are used as keys
public void setRowTag(java.lang.String rowTag)
Names the tag used in the XML doc., to enclose the XML elements corresponding to each row value. Setting the value of this to null implies that there is no row tag present and the top level elements of the document correspond to the rows themselves.
tag - tag name
public void setUpdateColumnList(java.lang.String[] updColNames)
Set the column values to be updated. This is only valid for inserts and updates, and is ignored for deletes. In case of insert, the default is to insert values to all the columns in the table. In case of updates, the default is to only update the columns corresponding to the tags present in the ROW element of the XML document. When specified, these columns alone will get updated in the update or insert statement. All other elements in the document will be ignored.
updColNames - The string list of columns to be updated
public void setXSLT(java.io.Reader stylesheet, java.lang.String ref)
Registers a XSL transform to be applied to generated XML. If a stylesheet was already registered, it gets replaced by the new one. To un-register the stylesheet pass in a null for the stylesheet argument.
stylesheet - the stylesheet
ref - URL for include, import and external entities
public void setXSLT(java.lang.String stylesheet, java.lang.String ref)
Registers a XSL transform to be applied to generated XML. If a stylesheet was already registered, it gets replaced by the new one. To un-register the stylesheet pass in a null for the stylesheet argument.
stylesheet - the stylesheet URI
ref - URL for include, import and external entities
public void setXSLTParam(java.lang.String name, java.lang.String value)
Sets the value of a top-level stylesheet parameter. The parameter value is expected to be a valid XPath expression (note that string literal values would therefore have to be explicitly quoted). NOTE: if no stylesheet is registered, this method is a no op.
name - parameter name
value - parameter value as an XPATH expression
public int updateXML(org.w3c.dom.Document doc)
Updates the table given the XML document in a DOM tree form
xmlDoc - The DOM tree form of the XML document
The number of XML elements processed
public int updateXML(java.io.InputStream xmlStream)
Updates the table given the XML document in a stream form
xmlDoc - The stream form of the XML document
The number of XML elements processed
public int updateXML(java.io.Reader xmlStream)
Updates the table given the XML document in a stream form
xmlDoc - The stream form of the XML document
The number of XML elements processed
public int updateXML(java.lang.String xmlDoc)
Updates the table given the XML document in a string form
xmlDoc - The string form of the XML document
The number of XML elements processed
public int updateXML(java.net.URL url)
Updates the columns in a database table, based on the element values in the supplied XML document. The update requires a list of key columns which are used to uniquely identify a row to update in the given table. By default, the update uses the list of key columns and matches the values of the corresponding elements in the XML document to identify a particular row and then updates all the columns in the table for which there is an equivalent element present in the XML document.
Each ROW element present in the input document is treated as a separate update to the table.
You can also supply a list of columns to update - this will make the utility update only those columns and ignore any other element present in the XML document. This is a very efficient method, since if there are more than one row present in the input XML document, the update statement itself is cached and batching is done. If not, then we need to create a new update statement for each row of the input document.
Use setKeyColumnList() to set the list of all key column.
Use setUpdateColumnList() to set the list of columns to update.
For example, consider the employee table emp,
TABLE emp( empno NUMBER, ename VARCHAR2(20), hiredate DATE);
Now, assume that you want to update the table using an XML document and you want to use the values of the element EMPNO to match the right row and then only update the HIREDATE column.
You can send in an XML document containing the HIREDATE value and the EMPNO value and call the updateXML routine with the setKeyColumnList() containing the EMPNO string.
OracleXMLSave save = new OracleXMLSave(conn,"emp");
String[] keyArray = new String[1];
keyArray[0] = "EMPNO"; // Set EMPNO as key column
save.setKeyColumnList(keyArray); // Set the key column names
String[] updArray = new String[1];
updArray[0] = "HIREDATE"; // SEt hiredate as column to update
save.setUpdateColumnList(updArray);
save.updateXML(xmlDoc); // xmlDoc supplied..
save.close();
url - The URL to the document to use to update the table
The number of XML row elements processed. Note that this may or may not be equal to the number of database rows modified based on whether the rows selected through the XML document uniquely identified the rows in the table.
public class OracleXMLSQLException extends java.lang.RuntimeException java.lang.Object | +--java.lang.Throwable | +--java.lang.Exception | +--java.lang.RuntimeException | +--oracle.xml.sql.OracleXMLSQLException
OracleXMLSQLNoRowsException
java.io.Serializable
public OracleXMLSQLException(java.lang.Exception e)
public OracleXMLSQLException(java.lang.Exception e, java.lang.String errorTagName)
public OracleXMLSQLException(java.lang.String message)
public OracleXMLSQLException(java.lang.String message, java.lang.Exception e)
public OracleXMLSQLException(java.lang.String message, java.lang.Exception e, java.lang.String errorTagName)
public OracleXMLSQLException(java.lang.String message, int errorCode)
public OracleXMLSQLException(java.lang.String message, int errorCode, java.lang.String errorTagName)
public OracleXMLSQLException(java.lang.String message, java.lang.String errorTagName)
public int getErrorCode()
public java.lang.Exception getParentException()
returns the original exception, if there was one; otherwise, it returns null
public java.lang.String getXMLErrorString()
prints the XML error string with the given error tag name
public java.lang.String getXMLSQLErrorString()
prints the SQL parameters as well in the error message
public void setErrorTag(java.lang.String tagName)
Sets the error tag name which is then used by getXMLErrorString and getXMLSQLErrorString, to generate xml error reports
public class OracleXMLSQLNoRowsException extends OracleXMLSQLException java.lang.Object | +--java.lang.Throwable | +--java.lang.Exception | +--java.lang.RuntimeException | +--OracleXMLSQLException | +--oracle.xml.sql.OracleXMLSQLNoRowsException
java.io.Serializable
Member Summary |
|
---|---|
Constructors |
|
|
|
|
Inherited Member Summary |
---|
Methods inherited from interface OracleXMLSQLException |
|
Methods inherited from class java.lang.Throwable |
|
Methods inherited from class java.lang.Object |
|
public OracleXMLSQLNoRowsException()
public OracleXMLSQLNoRowsException(java.lang.String errorTag)
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|