package edu.isi.karma.transformation.tokenizer;
import java.util.List;
public class PythonTransformationAsURIValidator extends PythonTransformationTokenVistor {
private Boolean isValid = null;
@Override
protected
void visit(PythonTransformationToken pythonTransformationToken) {
isValid = isValid == null? true : isValid && true;
}
@Override
protected void visit(PythonTransformationColumnToken pythonTransformationToken) {
isValid = isValid == null? true : isValid && true;
}
@Override
protected void visit(PythonTransformationStringToken pythonTransformationToken) {
isValid = isValid == null? true : isValid && true;
}
@Override
protected void visit(PythonTransformationInvalidToken pythonTransformationToken) {
isValid = false;
}
protected boolean isValid() {
return isValid == null? false : isValid;
}
public boolean validate(String transformationCode)
{
List<PythonTransformationToken> tokens = PythonTransformationAsURITokenizer.tokenize(transformationCode);
return validate(tokens);
}
public boolean validate(List<PythonTransformationToken> tokens) {
this.visit(tokens);
return isValid();
}
}