<!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.5.0_10) on Wed Apr 30 14:47:11 PDT 2008 -->
<TITLE>
TaglibDomainMetaDataQueryHelper
</TITLE>

<META NAME="keywords" CONTENT="org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="TaglibDomainMetaDataQueryHelper";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

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


<!-- ========= 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/TaglibDomainMetaDataQueryHelper.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-files/index-1.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/eclipse/jst/jsf/common/metadata/query/MetaDataException.html" title="class in org.eclipse.jst.jsf.common.metadata.query"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../index.html?org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TaglibDomainMetaDataQueryHelper.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&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.eclipse.jst.jsf.common.metadata.query</FONT>
<BR>
Class TaglibDomainMetaDataQueryHelper</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../../../resources/inherit.gif" ALT="extended by "><B>org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper</B>
</PRE>
<HR>
<DL>
<DT><PRE>public final class <B>TaglibDomainMetaDataQueryHelper</B><DT>extends java.lang.Object</DL>
</PRE>

<P>
Helper class with static methods to simplify querying of a metadata model. 
 
 <p>Steps for use:
        <br>1) Get the ITaglibDomainMetaDataModelContext using createMetaDataModelContext or createTagLibraryDomainMetaDataModelContext
        <br>2) Use appropriate getXXX methods using the ITaglibDomainMetaDataModelContext.
 <p><b>Provisional API - subject to change</b></p>
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query"><CODE>IResultSet</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IEntityQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query"><CODE>IEntityQueryVisitor</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITraitQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query"><CODE>ITraitQueryVisitor</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query"><CODE>ITaglibDomainMetaDataModelContext</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Model.html" title="interface in org.eclipse.jst.jsf.common.metadata"><CODE>Model</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata"><CODE>Entity</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Trait.html" title="interface in org.eclipse.jst.jsf.common.metadata"><CODE>Trait</CODE></A></DL>
<HR>

<P>
<!-- =========== 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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#TAGLIB_DOMAIN">TAGLIB_DOMAIN</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Domain id for Tag library domain of metatdata</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>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#createMetaDataModelContext(IProject, java.lang.String)">createMetaDataModelContext</A></B>(IProject&nbsp;project,
                           java.lang.String&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for creating <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query"><CODE>ITaglibDomainMetaDataModelContext</CODE></A>s for TAGLIB_DOMAIN</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IResultSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getEntities(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String, org.eclipse.jst.jsf.common.metadata.query.IEntityQueryVisitor)">getEntities</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;initialEntityContext,
            java.lang.String&nbsp;entityQuery,
            <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IEntityQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IEntityQueryVisitor</A>&nbsp;entityKeyQueryVisitor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IResultSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getEntities(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext, java.lang.String, org.eclipse.jst.jsf.common.metadata.query.IEntityQueryVisitor)">getEntities</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext,
            java.lang.String&nbsp;entityKey,
            <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IEntityQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IEntityQueryVisitor</A>&nbsp;visitor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getEntity(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String)">getEntity</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;initialEntityContext,
          java.lang.String&nbsp;entityKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getEntity(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext, java.lang.String)">getEntity</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext,
          java.lang.String&nbsp;entityKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Model.html" title="interface in org.eclipse.jst.jsf.common.metadata">Model</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getModel(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext)">getModel</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;javax.xml.namespace.QName</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getQNameForTagEntity(org.eclipse.jst.jsf.common.metadata.Entity)">getQNameForTagEntity</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;tagEntity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Trait.html" title="interface in org.eclipse.jst.jsf.common.metadata">Trait</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getTrait(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String)">getTrait</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;entity,
         java.lang.String&nbsp;traitKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Trait.html" title="interface in org.eclipse.jst.jsf.common.metadata">Trait</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getTrait(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext, java.lang.String, java.lang.String)">getTrait</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext,
         java.lang.String&nbsp;entityKey,
         java.lang.String&nbsp;traitKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IResultSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html#getTraits(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String, org.eclipse.jst.jsf.common.metadata.query.ITraitQueryVisitor)">getTraits</A></B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;entity,
          java.lang.String&nbsp;traitKey,
          <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITraitQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITraitQueryVisitor</A>&nbsp;traitQueryVisitor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="TAGLIB_DOMAIN"><!-- --></A><H3>
TAGLIB_DOMAIN</H3>
<PRE>
public static final java.lang.String <B>TAGLIB_DOMAIN</B></PRE>
<DL>
<DD>Domain id for Tag library domain of metatdata
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../../constant-values.html#org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.TAGLIB_DOMAIN">Constant Field Values</A></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="createMetaDataModelContext(IProject, java.lang.String)"><!-- --></A><H3>
createMetaDataModelContext</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A> <B>createMetaDataModelContext</B>(IProject&nbsp;project,
                                                                           java.lang.String&nbsp;uri)</PRE>
<DL>
<DD>Convenience method for creating <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query"><CODE>ITaglibDomainMetaDataModelContext</CODE></A>s for TAGLIB_DOMAIN
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>project</CODE> - <DD><CODE>uri</CODE> - 
<DT><B>Returns:</B><DD>ITaglibDomainMetaDataModelContext</DL>
</DD>
</DL>
<HR>

<A NAME="getModel(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext)"><!-- --></A><H3>
getModel</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Model.html" title="interface in org.eclipse.jst.jsf.common.metadata">Model</A> <B>getModel</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>modelContext</CODE> - 
<DT><B>Returns:</B><DD>Model object for given context.   May return null if not located.</DL>
</DD>
</DL>
<HR>

<A NAME="getEntity(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext, java.lang.String)"><!-- --></A><H3>
getEntity</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A> <B>getEntity</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext,
                               java.lang.String&nbsp;entityKey)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>modelContext</CODE> - <DD><CODE>entityKey</CODE> - relative to root of the model
<DT><B>Returns:</B><DD>the first entity match from the root of the model.   May return null.</DL>
</DD>
</DL>
<HR>

<A NAME="getEntities(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext, java.lang.String, org.eclipse.jst.jsf.common.metadata.query.IEntityQueryVisitor)"><!-- --></A><H3>
getEntities</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IResultSet</A> <B>getEntities</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext,
                                     java.lang.String&nbsp;entityKey,
                                     <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IEntityQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IEntityQueryVisitor</A>&nbsp;visitor)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>modelContext</CODE> - <DD><CODE>entityKey</CODE> - relative to root of model<DD><CODE>visitor</CODE> - 
<DT><B>Returns:</B><DD>an IResultSet of entity objects</DL>
</DD>
</DL>
<HR>

<A NAME="getTrait(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String)"><!-- --></A><H3>
getTrait</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Trait.html" title="interface in org.eclipse.jst.jsf.common.metadata">Trait</A> <B>getTrait</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;entity,
                             java.lang.String&nbsp;traitKey)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>entity</CODE> - <DD><CODE>traitKey</CODE> - 
<DT><B>Returns:</B><DD>a trait or null for the given entity and traitKey using a SimpleEntityQueryVisitorImpl</DL>
</DD>
</DL>
<HR>

<A NAME="getTraits(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String, org.eclipse.jst.jsf.common.metadata.query.ITraitQueryVisitor)"><!-- --></A><H3>
getTraits</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IResultSet</A> <B>getTraits</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;entity,
                                   java.lang.String&nbsp;traitKey,
                                   <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITraitQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITraitQueryVisitor</A>&nbsp;traitQueryVisitor)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>entity</CODE> - <DD><CODE>traitKey</CODE> - <DD><CODE>traitQueryVisitor</CODE> - 
<DT><B>Returns:</B><DD>an IResultSet of trait objects using supplied traitQueryVisitor.  IResultSet should NOT be null.</DL>
</DD>
</DL>
<HR>

<A NAME="getEntity(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String)"><!-- --></A><H3>
getEntity</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A> <B>getEntity</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;initialEntityContext,
                               java.lang.String&nbsp;entityKey)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>initialEntityContext</CODE> - <DD><CODE>entityKey</CODE> - relative to initial passed entity
<DT><B>Returns:</B><DD>the first entity located by key using SimpleEntityQueryVisitorImpl</DL>
</DD>
</DL>
<HR>

<A NAME="getEntities(org.eclipse.jst.jsf.common.metadata.Entity, java.lang.String, org.eclipse.jst.jsf.common.metadata.query.IEntityQueryVisitor)"><!-- --></A><H3>
getEntities</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IResultSet.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IResultSet</A> <B>getEntities</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;initialEntityContext,
                                     java.lang.String&nbsp;entityQuery,
                                     <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/IEntityQueryVisitor.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">IEntityQueryVisitor</A>&nbsp;entityKeyQueryVisitor)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>initialEntityContext</CODE> - <DD><CODE>entityQuery</CODE> - relative to initial passed entity<DD><CODE>entityKeyQueryVisitor</CODE> - 
<DT><B>Returns:</B><DD>IResultSet of entities located by key using entityQueryVisitor.  IResultSet should NOT be null.</DL>
</DD>
</DL>
<HR>

<A NAME="getTrait(org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext, java.lang.String, java.lang.String)"><!-- --></A><H3>
getTrait</H3>
<PRE>
public static <A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Trait.html" title="interface in org.eclipse.jst.jsf.common.metadata">Trait</A> <B>getTrait</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/query/ITaglibDomainMetaDataModelContext.html" title="interface in org.eclipse.jst.jsf.common.metadata.query">ITaglibDomainMetaDataModelContext</A>&nbsp;modelContext,
                             java.lang.String&nbsp;entityKey,
                             java.lang.String&nbsp;traitKey)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>modelContext</CODE> - <DD><CODE>entityKey</CODE> - <DD><CODE>traitKey</CODE> - 
<DT><B>Returns:</B><DD>first trait found for entity and trait key starting from root of the model using SimpleMetaDataQueryImpl</DL>
</DD>
</DL>
<HR>

<A NAME="getQNameForTagEntity(org.eclipse.jst.jsf.common.metadata.Entity)"><!-- --></A><H3>
getQNameForTagEntity</H3>
<PRE>
public static javax.xml.namespace.QName <B>getQNameForTagEntity</B>(<A HREF="../../../../../../../org/eclipse/jst/jsf/common/metadata/Entity.html" title="interface in org.eclipse.jst.jsf.common.metadata">Entity</A>&nbsp;tagEntity)</PRE>
<DL>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tagEntity</CODE> - 
<DT><B>Returns:</B><DD>QName for tag entity</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/TaglibDomainMetaDataQueryHelper.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-files/index-1.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/eclipse/jst/jsf/common/metadata/query/MetaDataException.html" title="class in org.eclipse.jst.jsf.common.metadata.query"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../index.html?org/eclipse/jst/jsf/common/metadata/query/TaglibDomainMetaDataQueryHelper.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TaglibDomainMetaDataQueryHelper.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
