package com.querydsl.sql;
import org.junit.rules.MethodRule;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.Statement;
import com.querydsl.core.testutil.EmptyStatement;
public class SkipForQuotedRule implements MethodRule {
private final Configuration configuration;
public SkipForQuotedRule(Configuration conf) {
this.configuration = conf;
}
@Override
public Statement apply(Statement base, FrameworkMethod method, Object target) {
SQLTemplates templates = configuration.getTemplates();
if (templates.isUseQuotes() || templates.isPrintSchema() || configuration.getUseLiterals()) {
boolean skip = method.getMethod().isAnnotationPresent(SkipForQuoted.class);
return skip ? EmptyStatement.DEFAULT : base;
} else {
return base;
}
}
}