blob: 17d6874c9a54ed294deaf555417fb7dc429ec5a8 [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>
org.eclipse.wst.validation
</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="org.eclipse.wst.validation";
}
}
</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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.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;PREV PACKAGE&nbsp;
&nbsp;<A HREF="../../../../org/eclipse/wst/validation/internal/provisional/core/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/eclipse/wst/validation/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-summary.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>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<H2>
Package org.eclipse.wst.validation
</H2>
A framework for calling validators that are build based.
<P>
<B>See:</B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Interface Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/IDependencyIndex.html" title="interface in org.eclipse.wst.validation">IDependencyIndex</A></B></TD>
<TD>This service is used to specify the resources that a particular resource depends on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/IMutableValidator.html" title="interface in org.eclipse.wst.validation">IMutableValidator</A></B></TD>
<TD>A validator that has fields that can be updated.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/IPerformanceMonitor.html" title="interface in org.eclipse.wst.validation">IPerformanceMonitor</A></B></TD>
<TD>A service that collects performance information on validation operations.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/IValidatorGroupListener.html" title="interface in org.eclipse.wst.validation">IValidatorGroupListener</A></B></TD>
<TD>Validators may wish to join validator groups for performance or other
reasons.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/AbstractValidator.html" title="class in org.eclipse.wst.validation">AbstractValidator</A></B></TD>
<TD>The class that all Validators that wish to use version two of the validation framework must subclass.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/DependentResource.html" title="class in org.eclipse.wst.validation">DependentResource</A></B></TD>
<TD>A resource that is dependent on another resource.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/Friend.html" title="class in org.eclipse.wst.validation">Friend</A></B></TD>
<TD>This class is only to be called by the validation framework and it's test cases.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/MessageSeveritySetting.html" title="class in org.eclipse.wst.validation">MessageSeveritySetting</A></B></TD>
<TD>Associate a message severity with a message category.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/MutableProjectSettings.html" title="class in org.eclipse.wst.validation">MutableProjectSettings</A></B></TD>
<TD>This class holds the overall project validation settings.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/MutableWorkspaceSettings.html" title="class in org.eclipse.wst.validation">MutableWorkspaceSettings</A></B></TD>
<TD>This class holds the overall workspace validation settings.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/PerformanceCounters.html" title="class in org.eclipse.wst.validation">PerformanceCounters</A></B></TD>
<TD>Some performance information for a validation invocation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ReporterHelper.html" title="class in org.eclipse.wst.validation">ReporterHelper</A></B></TD>
<TD>This is a temporary class to ease the transition from the previous validation framework.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidationEvent.html" title="class in org.eclipse.wst.validation">ValidationEvent</A></B></TD>
<TD>An object that describes which object should be validated and what triggered its validation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidationFramework.html" title="class in org.eclipse.wst.validation">ValidationFramework</A></B></TD>
<TD>The central class of the Validation Framework.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidationFramework.ResourceAdder.html" title="class in org.eclipse.wst.validation">ValidationFramework.ResourceAdder</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidationResult.html" title="class in org.eclipse.wst.validation">ValidationResult</A></B></TD>
<TD>The result of running a validate operation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidationResults.html" title="class in org.eclipse.wst.validation">ValidationResults</A></B></TD>
<TD>The combined results of validating multiple resources.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidationState.html" title="class in org.eclipse.wst.validation">ValidationState</A></B></TD>
<TD>Keep track of arbitrary validation data, during the course of a validation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></B></TD>
<TD>Represents a validator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html" title="class in org.eclipse.wst.validation">Validator.V1</A></B></TD>
<TD>A validator that uses version 1 of the validation framework.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.V1Copy.html" title="class in org.eclipse.wst.validation">Validator.V1.V1Copy</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V2.html" title="class in org.eclipse.wst.validation">Validator.V2</A></B></TD>
<TD>A validator that uses version 2 of the validation framework.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/ValidatorMessage.html" title="class in org.eclipse.wst.validation">ValidatorMessage</A></B></TD>
<TD>This class provides a way for a validator to return messages, that are easily
converted into IMarkers.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Enum Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/IPerformanceMonitor.CollectionLevel.html" title="enum in org.eclipse.wst.validation">IPerformanceMonitor.CollectionLevel</A></B></TD>
<TD>The level of information to collect.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/MessageSeveritySetting.Severity.html" title="enum in org.eclipse.wst.validation">MessageSeveritySetting.Severity</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../../org/eclipse/wst/validation/Validator.Level.html" title="enum in org.eclipse.wst.validation">Validator.Level</A></B></TD>
<TD>The level of configuration for the validator.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="package_description"><!-- --></A><H2>
Package org.eclipse.wst.validation Description
</H2>
<P>
<p>A framework for calling validators that are build based.</p>
<p>Also see <a href="doc-files/faq.html">Frequently Asked Questions</a></p>
<p>
There are two main types of validation, <b>build based</b> and
<b>as you type</b>. This framework supports build based
validation. If auto build is turned on then the validators are called
when the user saves their file. If auto build is not turned on then
the validators are called when the user starts a build.</p>
<p>This framework was added to WTP in version 3.0.</p>
<h3>Dependency Support</h3>
<p>Sometimes resources depend on other resources, to determine whether they are
valid or not. An example would be that an XML resource could depend on a DTD. If at some
point in the future the DTD changes, then the dependent XML resource should be
revalidated to ensure that it still meets the requirements of the changed DTD
file. In order to do this efficiently, there needs to be an association between
the DTD and all the resources that depend on it.<p>To be as efficient as possible, the validation framework allows
this dependency information to be returned as part of a
<a href="AbstractValidator.html#validate(org.eclipse.core.resources.IResource, int, ValidationState, org.eclipse.core.runtime.IProgressMonitor)">
validate operation</a>. Since the validator needed to figure this out anyways,
why not pass this information back to the framework, so that it can be saved.
This saves the cost of having to parse the file at some later point in time
(when the file is probably sitting cold on disk). The fewer times that we need
to open, read and/or parse the same file, will improve the performance of the
product.
<p>In particular when the validate method returns, a
<a href="ValidationResult.html">ValidationResult</a> must be returned, inside of
this result, all your dependencies need to be specified with the
<a href="ValidationResult.html#setDependsOn(org.eclipse.core.resources.IResource[])">
setDependsOn</a> method.<p>In addition to keeping the dependency information
up-to-date through the normal course of validation, direct access is also
provided to the dependency support through the
<a href="ValidationFramework.html#getDependencyIndex()">getDependencyIndex</a>
method. The <a href="IDependencyIndex.html">IDependencyIndex</a> allows you to
directly manipulate the dependency information for a validator.
<h3>Entry Points into the Validation Framework</h3>
<p>Here are some of the points where the platform calls into the framework:</p>
<ul>
<li><b>Builder</b> - ValidationBuilder</li>
<li><b>IFacetedProjectListener</b> - ValManager</li>
<li><b>IJobChangeListener</b> - ValidationOperation, ValidationOperation.ValidationLauncherJob</li>
<li><b>IProjectChangeListener</b> - ValManager</li>
<li><b>IPropertyChangeListener</b> - ValidationConfiguration, DisabledResourceManager</li>
<li><b>IResourceChangeListener</b> - EventManger</li>
<li><b>IValChangedListener</b> - ValManager, DisabledValidatorManager</li>
</ul>
<P>
<P>
<DL>
</DL>
<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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.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;PREV PACKAGE&nbsp;
&nbsp;<A HREF="../../../../org/eclipse/wst/validation/internal/provisional/core/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/eclipse/wst/validation/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-summary.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>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>