<!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 May 20 09:50:54 EDT 2008 -->
<TITLE>
Validator.V1
</TITLE>

<META NAME="date" CONTENT="2008-05-20">

<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="Validator.V1";
    }
}
</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/Validator.V1.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/Validator.Level.html" title="enum in org.eclipse.wst.validation"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/eclipse/wst/validation/Validator.V1.V1Copy.html" title="class in org.eclipse.wst.validation"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/eclipse/wst/validation/Validator.V1.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Validator.V1.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_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&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.eclipse.wst.validation</FONT>
<BR>
Class Validator.V1</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">org.eclipse.wst.validation.Validator</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.eclipse.wst.validation.Validator.V1</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Comparable&lt;<A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A>&gt;</DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.V1Copy.html" title="class in org.eclipse.wst.validation">Validator.V1.V1Copy</A></DD>
</DL>
<DL>
<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public static class <B>Validator.V1</B><DT>extends <A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></DL>
</PRE>

<P>
A validator that uses version 1 of the validation framework.
<P>

<P>
<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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.V1Copy.html" title="class in org.eclipse.wst.validation">Validator.V1.V1Copy</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.eclipse.wst.validation.Validator"><!-- --></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.eclipse.wst.validation.<A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.Level.html" title="enum in org.eclipse.wst.validation">Validator.Level</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html" title="class in org.eclipse.wst.validation">Validator.V1</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.V2.html" title="class in org.eclipse.wst.validation">Validator.V2</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><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#Validator.V1(ValidatorMetaData, ValidationConfiguration)">Validator.V1</A></B>(ValidatorMetaData&nbsp;vmd,
             ValidationConfiguration&nbsp;config)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new version 1 validator.</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/eclipse/wst/validation/internal/provisional/core/IValidator.html" title="interface in org.eclipse.wst.validation.internal.provisional.core">IValidator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#asIValidator()">asIValidator</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;<A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html" title="class in org.eclipse.wst.validation">Validator.V1</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#asV1Validator()">asV1Validator</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If you are a version 1 validator, answer yourself as one, otherwise answer null.</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/eclipse/wst/validation/Validator.V1.html#become(org.eclipse.wst.validation.Validator)">become</A></B>(<A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A>&nbsp;val)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Take the instance variables from the incoming validator and set them to yourself.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#copy(boolean)">copy</A></B>(boolean&nbsp;includeChangeCounts)</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.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#getId()">getId</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.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#getName()">getName</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.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#getValidatorClassname()">getValidatorClassname</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Answer the name of the class that implements the validator.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;ValidatorMetaData</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#getVmd()">getVmd</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#setBuildValidation(boolean)">setBuildValidation</A></B>(boolean&nbsp;buildValidation)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether this validator should be triggered by the build process.</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/eclipse/wst/validation/Validator.V1.html#setManualValidation(boolean)">setManualValidation</A></B>(boolean&nbsp;manualValidation)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether this validator should be triggered as part of a manual validation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/eclipse/wst/validation/ValidationResult.html" title="class in org.eclipse.wst.validation">ValidationResult</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html#validate(IResource, int, org.eclipse.wst.validation.internal.ValOperation, IProgressMonitor)">validate</A></B>(IResource&nbsp;resource,
         int&nbsp;kind,
         org.eclipse.wst.validation.internal.ValOperation&nbsp;operation,
         IProgressMonitor&nbsp;monitor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Validate the resource.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.wst.validation.Validator"><!-- --></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.eclipse.wst.validation.<A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#asV2Validator()">asV2Validator</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#bumpChangeCountGlobal()">bumpChangeCountGlobal</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#bumpChangeCountMessages()">bumpChangeCountMessages</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#clean(IProject, IProgressMonitor)">clean</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#compareTo(org.eclipse.wst.validation.Validator)">compareTo</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#copy()">copy</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#create(IConfigurationElement, IProject)">create</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#create(ValidatorMetaData, ValidationConfiguration, IProject)">create</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getChangeCountGlobal()">getChangeCountGlobal</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getChangeCountMessages()">getChangeCountMessages</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getDelegatingId()">getDelegatingId</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getMarkerId()">getMarkerId</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getMessage(java.lang.String)">getMessage</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getMessageSettings()">getMessageSettings</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getProject()">getProject</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getSourceId()">getSourceId</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#getVersion()">getVersion</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#hashCodeForConfig()">hashCodeForConfig</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#isBuildValidation()">isBuildValidation</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#isChanged()">isChanged</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#isManualValidation()">isManualValidation</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#resetChangeCounters()">resetChangeCounters</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#sameConfig(org.eclipse.wst.validation.Validator)">sameConfig</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#setDelegatingId(java.lang.String)">setDelegatingId</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#setMarkerId(java.lang.String)">setMarkerId</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#setSourceId(java.lang.String)">setSourceId</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#setVersion(int)">setVersion</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#shouldValidate(IResource, boolean, boolean)">shouldValidate</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#shouldValidate(IResource, org.eclipse.wst.validation.internal.ValType)">shouldValidate</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#shouldValidateProject(IProject, boolean, boolean)">shouldValidateProject</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#shouldValidateProject(IProject, org.eclipse.wst.validation.internal.ValType)">shouldValidateProject</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#toString()">toString</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#validationFinishing(IProject, org.eclipse.wst.validation.ValidationState, IProgressMonitor)">validationFinishing</A>, <A HREF="../../../../org/eclipse/wst/validation/Validator.html#validationStarting(IProject, org.eclipse.wst.validation.ValidationState, IProgressMonitor)">validationStarting</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.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</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="Validator.V1(ValidatorMetaData, ValidationConfiguration)"><!-- --></A><H3>
Validator.V1</H3>
<PRE>
public <B>Validator.V1</B>(ValidatorMetaData&nbsp;vmd,
                    ValidationConfiguration&nbsp;config)</PRE>
<DL>
<DD>Create a new version 1 validator.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>vmd</CODE> - <DD><CODE>config</CODE> - this is used to set the global enablement options. In some case this can be null.</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="asIValidator()"><!-- --></A><H3>
asIValidator</H3>
<PRE>
public <A HREF="../../../../org/eclipse/wst/validation/internal/provisional/core/IValidator.html" title="interface in org.eclipse.wst.validation.internal.provisional.core">IValidator</A> <B>asIValidator</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#asIValidator()">asIValidator</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="asV1Validator()"><!-- --></A><H3>
asV1Validator</H3>
<PRE>
public <A HREF="../../../../org/eclipse/wst/validation/Validator.V1.html" title="class in org.eclipse.wst.validation">Validator.V1</A> <B>asV1Validator</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#asV1Validator()">Validator</A></CODE></B></DD>
<DD>If you are a version 1 validator, answer yourself as one, otherwise answer null.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#asV1Validator()">asV1Validator</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="become(org.eclipse.wst.validation.Validator)"><!-- --></A><H3>
become</H3>
<PRE>
public void <B>become</B>(<A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A>&nbsp;val)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#become(org.eclipse.wst.validation.Validator)">Validator</A></CODE></B></DD>
<DD>Take the instance variables from the incoming validator and set them to yourself.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#become(org.eclipse.wst.validation.Validator)">become</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="copy(boolean)"><!-- --></A><H3>
copy</H3>
<PRE>
public <A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A> <B>copy</B>(boolean&nbsp;includeChangeCounts)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#copy(boolean)">copy</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
public java.lang.String <B>getName</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVmd()"><!-- --></A><H3>
getVmd</H3>
<PRE>
public ValidatorMetaData <B>getVmd</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getValidatorClassname()"><!-- --></A><H3>
getValidatorClassname</H3>
<PRE>
public java.lang.String <B>getValidatorClassname</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#getValidatorClassname()">Validator</A></CODE></B></DD>
<DD>Answer the name of the class that implements the validator.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#getValidatorClassname()">getValidatorClassname</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getId()"><!-- --></A><H3>
getId</H3>
<PRE>
public java.lang.String <B>getId</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#getId()">getId</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBuildValidation(boolean)"><!-- --></A><H3>
setBuildValidation</H3>
<PRE>
public void <B>setBuildValidation</B>(boolean&nbsp;buildValidation)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#setBuildValidation(boolean)">Validator</A></CODE></B></DD>
<DD>Set whether this validator should be triggered by the build process.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#setBuildValidation(boolean)">setBuildValidation</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setManualValidation(boolean)"><!-- --></A><H3>
setManualValidation</H3>
<PRE>
public void <B>setManualValidation</B>(boolean&nbsp;manualValidation)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#setManualValidation(boolean)">Validator</A></CODE></B></DD>
<DD>Set whether this validator should be triggered as part of a manual validation.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#setManualValidation(boolean)">setManualValidation</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="validate(IResource, int, org.eclipse.wst.validation.internal.ValOperation, IProgressMonitor)"><!-- --></A><H3>
validate</H3>
<PRE>
public <A HREF="../../../../org/eclipse/wst/validation/ValidationResult.html" title="class in org.eclipse.wst.validation">ValidationResult</A> <B>validate</B>(IResource&nbsp;resource,
                                 int&nbsp;kind,
                                 org.eclipse.wst.validation.internal.ValOperation&nbsp;operation,
                                 IProgressMonitor&nbsp;monitor)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#validate(IResource, int, org.eclipse.wst.validation.internal.ValOperation, IProgressMonitor)">Validator</A></CODE></B></DD>
<DD>Validate the resource.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html#validate(IResource, int, org.eclipse.wst.validation.internal.ValOperation, IProgressMonitor)">validate</A></CODE> in class <CODE><A HREF="../../../../org/eclipse/wst/validation/Validator.html" title="class in org.eclipse.wst.validation">Validator</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>resource</CODE> - the resource to be validated<DD><CODE>kind</CODE> - the kind of resource change, see IResourceDelta for values.<DD><CODE>operation</CODE> - the operation that this validation is running under. This can be null.<DD><CODE>monitor</CODE> - a way to report progress. This can be null.
<DT><B>Returns:</B><DD>the result of doing the validation, it can be, but usually isn't null.</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/Validator.V1.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/Validator.Level.html" title="enum in org.eclipse.wst.validation"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/eclipse/wst/validation/Validator.V1.V1Copy.html" title="class in org.eclipse.wst.validation"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/eclipse/wst/validation/Validator.V1.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Validator.V1.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_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&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>

</BODY>
</HTML>
