blob: 4bbbf4b2c337d005aecb5549692cd1bc423bb8a6 [file] [log] [blame]
<!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) on Tue Jan 27 04:28:33 EST 2009 -->
<TITLE>
IValidationContext
</TITLE>
<META NAME="date" CONTENT="2009-01-27">
<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="IValidationContext";
}
}
</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/IValidationContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</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="../../../../../../../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/wst/validation/internal/provisional/core/IReporter.html" title="interface in org.eclipse.wst.validation.internal.provisional.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IValidator.html" title="interface in org.eclipse.wst.validation.internal.provisional.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../../index.html?org/eclipse/wst/validation/internal/provisional/core/IValidationContext.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IValidationContext.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&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.wst.validation.internal.provisional.core</FONT>
<BR>
Interface IValidationContext</H2>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IMetaModelContext.html" title="interface in org.eclipse.wst.validation.internal.provisional.core">IMetaModelContext</A>, <A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IProjectValidationContext.html" title="interface in org.eclipse.wst.validation.internal.provisional.core">IProjectValidationContext</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>IValidationContext</B></DL>
</PRE>
<P>
This class is used to to separate the IValidator from the model loading. A model
is a group of object(s) that must follow some rules.
<p>
The model is loaded differently depending on whether the validator is running in
as-you-type or builder based context. If the <code>loadModel</code> method was a method on the IValidator,
then there would need to be two versions of validators, one for as-you-type and one for
builder based. Because <code>loadModel</code> is separate from the IValidator, we provide
two different IHelpers instead, and ship the one specific to the environment.
</p>
<p>
Each IValidationContext implementation loads a specific model as identified by a String
<code>symbolicName</code>. The symbolicName can be any value except null or the
empty string. Each validator identifies the symbolic names which it needs, and the
type of model which needs to be returned when that symbolic name is loaded via a
<code>loadModel</code> method. An IValidationContext can support more than one IValidator;
the helper needs to support every model that each validator needs.
</p>
<p>
<b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.
</p>
<P>
<P>
<HR>
<P>
<!-- ========== 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;java.lang.String[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IValidationContext.html#getURIs()">getURIs</A></B>()</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>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IValidationContext.html#loadModel(java.lang.String)">loadModel</A></B>(java.lang.String&nbsp;symbolicName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Load the model identified by <code>symbolicName</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IValidationContext.html#loadModel(java.lang.String, java.lang.Object[])">loadModel</A></B>(java.lang.String&nbsp;symbolicName,
java.lang.Object[]&nbsp;parms)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Load the model identified by <code>symbolicName</code> and <code>parms</code>.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ 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="loadModel(java.lang.String)"><!-- --></A><H3>
loadModel</H3>
<PRE>
java.lang.Object <B>loadModel</B>(java.lang.String&nbsp;symbolicName)</PRE>
<DL>
<DD><p>
Load the model identified by <code>symbolicName</code>. <code>symbolicName</code>
must not be null or the empty string if the validator needs to be run in both
as-you-type and builder based validation.
</p>
<p>
The symbolicName is a string name that is registered in the implementation of the
IValidatorContext. For an example our internal implementation of the loadModel use
method names for symbolicNames to load the model object to be validated. Users can
use their own model load mechanism.
</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><code>WorkbenchContext</code></DL>
</DD>
</DL>
<HR>
<A NAME="loadModel(java.lang.String, java.lang.Object[])"><!-- --></A><H3>
loadModel</H3>
<PRE>
java.lang.Object <B>loadModel</B>(java.lang.String&nbsp;symbolicName,
java.lang.Object[]&nbsp;parms)</PRE>
<DL>
<DD><p>
Load the model identified by <code>symbolicName</code> and <code>parms</code>.
<code>symbolicName</code> must not be null or the empty string if the validator
needs to be run in both as-you-type and builder based validation.
If <code>parms</code> is null then this
method behaves the same as
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>symbolicName</CODE> - String identifier for model.<DD><CODE>parms</CODE> - List of parameters that the model takes for invocation.</DL>
</DD>
</DL>
<HR>
<A NAME="getURIs()"><!-- --></A><H3>
getURIs</H3>
<PRE>
java.lang.String[] <B>getURIs</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Returns:</B><DD>a string array with the list of URI's that need to be validated in the
case of Incremental build.</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/IValidationContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</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="../../../../../../../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/wst/validation/internal/provisional/core/IReporter.html" title="interface in org.eclipse.wst.validation.internal.provisional.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../../org/eclipse/wst/validation/internal/provisional/core/IValidator.html" title="interface in org.eclipse.wst.validation.internal.provisional.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../../index.html?org/eclipse/wst/validation/internal/provisional/core/IValidationContext.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IValidationContext.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&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>