/********************************************************************** * Copyright (c) 2005-2009 ant4eclipse project team. * * 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 * * Contributors: * Nils Hartmann, Daniel Kasmeroglu, Gerd Wuetherich **********************************************************************/ package org.ant4eclipse.lib.platform.model.resource.validator; import org.ant4eclipse.lib.platform.model.resource.role.ProjectRole; /** * <p> * Each implementation is capable to validate a certain aspect of a project configuration since a configuration isn't * necessarily correct. * </p> * * @author Daniel Kasmeroglu (daniel.kasmeroglu@kasisoft.net) */ public interface ProjectValidator { /** * <p> * Returns <code>true</code> if this validator is capable to handle the supplied role. * * @param role * The role used for the test. Not <code>null</code>. * * @return <code>true</code> <=> This validator is capable to handle the supplied role. */ boolean canValidate(ProjectRole role); /** * <p> * Validates the content of a specific project from the perspective of a specific role. * </p> * * @param role * The role used to provide the necessary information. Not <code>null</code> and * {@link #canValidate(ProjectRole)} evaluates to <code>true</code>. */ void validate(ProjectRole role); } /* ENDINTERFACE */