blob: 901e651dee24ff9723dacaf7704d4041eba44209 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
package org.eclipse.dltk.validators.core;
import org.eclipse.dltk.core.IScriptProject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* Contains validator properties.
*
* @author Haiodo
*/
public interface IValidator {
String getID();
String getName();
boolean isWorkingCopy();
IValidator getWorkingCopy();
boolean isAutomatic();
boolean isAutomatic(IScriptProject project);
IValidatorType getValidatorType();
boolean isValidatorValid(IScriptProject project);
/**
* Returns the {@link IValidatorWorker} to operate on the specified
* <code>environment</code> and send output to the specified
* <code>output</code>
*
* @param project
* @return
* @see IValidatorType#supports(Class)
*/
Object getValidator(IScriptProject project, Class validatorType);
void loadFrom(Element element);
void storeTo(Document doc, Element element);
void setName(String name);
void setAutomatic(boolean active);
}