<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_35) on Wed Oct 10 18:40:39 CDT 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
QualifiedDBIdentifier (OpenJPA Parent POM 2.2.1 API)
</TITLE>

<META NAME="date" CONTENT="2012-10-10">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="QualifiedDBIdentifier (OpenJPA Parent POM 2.2.1 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QualifiedDBIdentifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/Normalizer.html" title="class in org.apache.openjpa.jdbc.identifier"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="QualifiedDBIdentifier.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.jdbc.identifier</FONT>
<BR>
Class QualifiedDBIdentifier</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html" title="class in org.apache.openjpa.lib.identifier">org.apache.openjpa.lib.identifier.IdentifierImpl</A>
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">org.apache.openjpa.jdbc.identifier.DBIdentifier</A>
          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.jdbc.identifier.QualifiedDBIdentifier</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A>&gt;, <A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>QualifiedDBIdentifier</B><DT>extends <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A><DT>implements <A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL>
</PRE>

<P>
This class extends DBIdentifier to provide support for qualified identifiers
 such as schema qualified tables and table qualified columns.  It provides methods
 to create qualified identifiers from individual identifiers.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.openjpa.jdbc.identifier.QualifiedDBIdentifier">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from class org.apache.openjpa.jdbc.identifier.<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.DBIdentifierType.html" title="enum in org.apache.openjpa.jdbc.identifier">DBIdentifier.DBIdentifierType</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.openjpa.jdbc.identifier.<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#_ignoreCase">_ignoreCase</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#NULL">NULL</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#QualifiedDBIdentifier(org.apache.openjpa.jdbc.identifier.DBIdentifier...)">QualifiedDBIdentifier</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>...&nbsp;sNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a clone of this identifier.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#compareTo(org.apache.openjpa.lib.identifier.Identifier)">compareTo</A></B>(<A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A>&nbsp;o)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares this identifier with another identifier.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Equality operator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getBaseName()">getBaseName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the base name of this qualified name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getIdentifier()">getIdentifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this object as a DBIdentifier.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getName()">getName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the fully qualified name as a string</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getObjectTableName()">getObjectTableName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the object table name component of the path, if the path
 is a table qualified identifier such as a constraint or column.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getPath(org.apache.openjpa.jdbc.identifier.DBIdentifier)">getPath</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;sName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a qualified path from an identifier.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getSchemaName()">getSchemaName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the schema component of the path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#getUnqualifiedName()">getUnqualifiedName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new unqualified name based on this instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#isDelimited()">isDelimited</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if all identifiers within this compound identifier are
 delimited.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#isUnqualifiedColumn()">isUnqualifiedColumn</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this object is not qualified by a table or schema 
 component.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#isUnqualifiedObject()">isUnqualifiedObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this object is not qualified by a schema component.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#length()">length</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the length of the qualified identifier, including delimiters
 and name separators.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#newPath(org.apache.openjpa.jdbc.identifier.DBIdentifier...)">newPath</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>...&nbsp;names)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a qualified identifier based upon an array of DBIdentifiers.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#pathEqual(org.apache.openjpa.jdbc.identifier.QualifiedDBIdentifier, org.apache.openjpa.jdbc.identifier.QualifiedDBIdentifier)">pathEqual</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A>&nbsp;path1,
          <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A>&nbsp;path2)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares two qualified identifiers for equality.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#setBaseName(java.lang.String)">setBaseName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the base name component of this compound identifier</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the name of this qualified identifier.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#setObjectTableName(org.apache.openjpa.jdbc.identifier.DBIdentifier)">setObjectTableName</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;objectName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the object table name component of the path, if the path
 is a table qualified identifier such as a constraint or column.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#setPath(org.apache.openjpa.jdbc.identifier.DBIdentifier...)">setPath</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>...&nbsp;sNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the identifiers that make up the path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#setSchemaName(org.apache.openjpa.jdbc.identifier.DBIdentifier)">setSchemaName</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;schemaName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the schema component of the path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#splitPath(org.apache.openjpa.jdbc.identifier.DBIdentifier)">splitPath</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;sName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Splits a qualified path into separate identifiers.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a fully qualified name as a string.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.openjpa.jdbc.identifier.<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#append(org.apache.openjpa.jdbc.identifier.DBIdentifier, java.lang.String)">append</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#combine(org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, java.lang.String...)">combine</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#combine(org.apache.openjpa.jdbc.identifier.DBIdentifier, java.lang.String)">combine</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#equal(org.apache.openjpa.jdbc.identifier.DBIdentifier, org.apache.openjpa.jdbc.identifier.DBIdentifier)">equal</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#equalsIgnoreCase(org.apache.openjpa.jdbc.identifier.DBIdentifier)">equalsIgnoreCase</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#equalsIgnoreCase(org.apache.openjpa.jdbc.identifier.DBIdentifier, org.apache.openjpa.jdbc.identifier.DBIdentifier)">equalsIgnoreCase</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#getIgnoreCase()">getIgnoreCase</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#getType()">getType</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#isEmpty(org.apache.openjpa.jdbc.identifier.DBIdentifier)">isEmpty</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#isNull()">isNull</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#isNull(org.apache.openjpa.jdbc.identifier.DBIdentifier)">isNull</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#join(org.apache.openjpa.jdbc.identifier.DBIdentifier...)">join</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newCatalog(java.lang.String)">newCatalog</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newCatalog(java.lang.String, boolean)">newCatalog</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newColumn(java.lang.String)">newColumn</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newColumn(java.lang.String, boolean)">newColumn</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newColumnDefinition(java.lang.String)">newColumnDefinition</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newConstant(java.lang.String)">newConstant</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newConstraint(java.lang.String)">newConstraint</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newConstraint(java.lang.String, boolean)">newConstraint</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newDefault(java.lang.String)">newDefault</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newForeignKey(java.lang.String)">newForeignKey</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newForeignKey(java.lang.String, boolean)">newForeignKey</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newIdentifier(java.lang.String, org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType)">newIdentifier</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newIdentifier(java.lang.String, org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, boolean)">newIdentifier</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newIdentifier(java.lang.String, org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, boolean, boolean)">newIdentifier</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newIdentifier(java.lang.String, org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, boolean, boolean, boolean)">newIdentifier</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newIndex(java.lang.String)">newIndex</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newIndex(java.lang.String, boolean)">newIndex</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newSchema(java.lang.String)">newSchema</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newSchema(java.lang.String, boolean)">newSchema</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newSequence(java.lang.String)">newSequence</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newSequence(java.lang.String, boolean)">newSequence</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newTable(java.lang.String)">newTable</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#newTable(java.lang.String, boolean)">newTable</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#preCombine(org.apache.openjpa.jdbc.identifier.DBIdentifier, java.lang.String)">preCombine</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#removeDelimiters(org.apache.openjpa.jdbc.identifier.DBIdentifier)">removeDelimiters</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#removeHungarianNotation(org.apache.openjpa.jdbc.identifier.DBIdentifier)">removeHungarianNotation</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#removeLeading(org.apache.openjpa.jdbc.identifier.DBIdentifier, java.lang.String)">removeLeading</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#setIgnoreCase(boolean)">setIgnoreCase</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#setName(org.apache.openjpa.jdbc.identifier.DBIdentifier)">setName</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#setName(java.lang.String, boolean)">setName</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#setType(org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType)">setType</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#split(org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, java.lang.String)">split</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#split(java.lang.String, org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, java.lang.String)">split</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toArray(java.lang.String[], org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType)">toArray</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toArray(java.lang.String[], org.apache.openjpa.jdbc.identifier.DBIdentifier.DBIdentifierType, boolean)">toArray</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toLower(org.apache.openjpa.jdbc.identifier.DBIdentifier)">toLower</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toLower(org.apache.openjpa.jdbc.identifier.DBIdentifier, boolean)">toLower</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toStringArray(org.apache.openjpa.jdbc.identifier.DBIdentifier[])">toStringArray</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toUpper(org.apache.openjpa.jdbc.identifier.DBIdentifier)">toUpper</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#toUpper(org.apache.openjpa.jdbc.identifier.DBIdentifier, boolean)">toUpper</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#trim(org.apache.openjpa.jdbc.identifier.DBIdentifier)">trim</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#trimToNull(org.apache.openjpa.jdbc.identifier.DBIdentifier)">trimToNull</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#truncate(org.apache.openjpa.jdbc.identifier.DBIdentifier, int)">truncate</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.lib.identifier.IdentifierImpl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.openjpa.lib.identifier.<A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html" title="class in org.apache.openjpa.lib.identifier">IdentifierImpl</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html#hashCode()">hashCode</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="QualifiedDBIdentifier(org.apache.openjpa.jdbc.identifier.DBIdentifier...)"><!-- --></A><H3>
QualifiedDBIdentifier</H3>
<PRE>
protected <B>QualifiedDBIdentifier</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>...&nbsp;sNames)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="newPath(org.apache.openjpa.jdbc.identifier.DBIdentifier...)"><!-- --></A><H3>
newPath</H3>
<PRE>
public static <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A> <B>newPath</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>...&nbsp;names)</PRE>
<DL>
<DD>Creates a qualified identifier based upon an array of DBIdentifiers.  Identifiers
 must be specified in order.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>names</CODE> - 
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setPath(org.apache.openjpa.jdbc.identifier.DBIdentifier...)"><!-- --></A><H3>
setPath</H3>
<PRE>
public void <B>setPath</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>...&nbsp;sNames)</PRE>
<DL>
<DD>Set the identifiers that make up the path.  Identifiers must be specified
 in path order.  (ex. [ table, column ] )
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sNames</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="splitPath(org.apache.openjpa.jdbc.identifier.DBIdentifier)"><!-- --></A><H3>
splitPath</H3>
<PRE>
public static <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>[] <B>splitPath</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;sName)</PRE>
<DL>
<DD>Splits a qualified path into separate identifiers.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sName</CODE> - 
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="getPath(org.apache.openjpa.jdbc.identifier.DBIdentifier)"><!-- --></A><H3>
getPath</H3>
<PRE>
public static <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A> <B>getPath</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;sName)</PRE>
<DL>
<DD>Creates a qualified path from an identifier.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sName</CODE> - 
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setSchemaName(org.apache.openjpa.jdbc.identifier.DBIdentifier)"><!-- --></A><H3>
setSchemaName</H3>
<PRE>
public void <B>setSchemaName</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;schemaName)</PRE>
<DL>
<DD>Sets the schema component of the path.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSchemaName()"><!-- --></A><H3>
getSchemaName</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>getSchemaName</B>()</PRE>
<DL>
<DD>Gets the schema component of the path.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setObjectTableName(org.apache.openjpa.jdbc.identifier.DBIdentifier)"><!-- --></A><H3>
setObjectTableName</H3>
<PRE>
public void <B>setObjectTableName</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;objectName)</PRE>
<DL>
<DD>Sets the object table name component of the path, if the path
 is a table qualified identifier such as a constraint or column.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectTableName()"><!-- --></A><H3>
getObjectTableName</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>getObjectTableName</B>()</PRE>
<DL>
<DD>Gets the object table name component of the path, if the path
 is a table qualified identifier such as a constraint or column.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isUnqualifiedObject()"><!-- --></A><H3>
isUnqualifiedObject</H3>
<PRE>
public boolean <B>isUnqualifiedObject</B>()</PRE>
<DL>
<DD>Returns true if this object is not qualified by a schema component.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="isUnqualifiedColumn()"><!-- --></A><H3>
isUnqualifiedColumn</H3>
<PRE>
public boolean <B>isUnqualifiedColumn</B>()</PRE>
<DL>
<DD>Returns true if this object is not qualified by a table or schema 
 component.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE>
<DL>
<DD>Equality operator.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#equals(java.lang.Object)">equals</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="pathEqual(org.apache.openjpa.jdbc.identifier.QualifiedDBIdentifier, org.apache.openjpa.jdbc.identifier.QualifiedDBIdentifier)"><!-- --></A><H3>
pathEqual</H3>
<PRE>
public static boolean <B>pathEqual</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A>&nbsp;path1,
                                <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A>&nbsp;path2)</PRE>
<DL>
<DD>Compares two qualified identifiers for equality.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path1</CODE> - <DD><CODE>path2</CODE> - 
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
<DL>
<DD>Returns a fully qualified name as a string.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html" title="class in org.apache.openjpa.lib.identifier">IdentifierImpl</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
<DL>
<DD>Returns the fully qualified name as a string
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/IdentifierImpl.html" title="class in org.apache.openjpa.lib.identifier">IdentifierImpl</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBaseName()"><!-- --></A><H3>
getBaseName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getBaseName</B>()</PRE>
<DL>
<DD>Returns the base name of this qualified name.  For example, if the 
 qualified name is a schema qualified table, the table name is returned.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="getIdentifier()"><!-- --></A><H3>
getIdentifier</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>getIdentifier</B>()</PRE>
<DL>
<DD>Returns this object as a DBIdentifier.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
public void <B>setName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Set the name of this qualified identifier.  Splits the string into
 multiple components.  This method assumes the type does not change.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBaseName(java.lang.String)"><!-- --></A><H3>
setBaseName</H3>
<PRE>
protected void <B>setBaseName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Set the base name component of this compound identifier
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="length()"><!-- --></A><H3>
length</H3>
<PRE>
public int <B>length</B>()</PRE>
<DL>
<DD>Returns the length of the qualified identifier, including delimiters
 and name separators.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html#length()">length</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#length()">length</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="compareTo(org.apache.openjpa.lib.identifier.Identifier)"><!-- --></A><H3>
compareTo</H3>
<PRE>
public int <B>compareTo</B>(<A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A>&nbsp;o)</PRE>
<DL>
<DD>Compares this identifier with another identifier.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true#compareTo(T)" title="class or interface in java.lang">compareTo</A></CODE> in interface <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</A>&lt;<A HREF="../../../../../org/apache/openjpa/lib/identifier/Identifier.html" title="interface in org.apache.openjpa.lib.identifier">Identifier</A>&gt;</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#compareTo(org.apache.openjpa.lib.identifier.Identifier)">compareTo</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isDelimited()"><!-- --></A><H3>
isDelimited</H3>
<PRE>
public boolean <B>isDelimited</B>()</PRE>
<DL>
<DD>Returns true if all identifiers within this compound identifier are
 delimited. Otherwise, false.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#isDelimited()">isDelimited</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUnqualifiedName()"><!-- --></A><H3>
getUnqualifiedName</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>getUnqualifiedName</B>()</PRE>
<DL>
<DD>Returns a new unqualified name based on this instance.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#getUnqualifiedName()">getUnqualifiedName</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">QualifiedDBIdentifier</A> <B>clone</B>()</PRE>
<DL>
<DD>Creates a clone of this identifier.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html#clone()">clone</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QualifiedDBIdentifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/Normalizer.html" title="class in org.apache.openjpa.jdbc.identifier"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/identifier/QualifiedDBIdentifier.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="QualifiedDBIdentifier.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.openjpa.jdbc.identifier.DBIdentifier">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2006-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
