package jme3tools.shadercheck; import com.jme3.shader.Shader; /** * Interface for shader validator tools. */ public interface Validator { /** * Returns the name of the validation tool */ public String getName(); /** * Returns true if the tool is installed on the system, false otherwise. */ public boolean isInstalled(); /** * Returns the tool version as a string, must return null if the tool * is not installed. */ public String getInstalledVersion(); /** * Validates the given shader to make sure it follows all requirements * of the shader language specified as {@link Shader#getLanguage() }. * The results of the validation will be written into the * results argument. * * @param shader The shader to validate * @param results The storage for the validation results */ public void validate(Shader shader, StringBuilder results); }