1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.scripting.defaults;
17
18 import org.apache.ibatis.builder.BuilderException;
19 import org.apache.ibatis.mapping.SqlSource;
20 import org.apache.ibatis.parsing.XNode;
21 import org.apache.ibatis.scripting.xmltags.XMLLanguageDriver;
22 import org.apache.ibatis.session.Configuration;
23
24
25
26
27
28
29
30
31
32 public class RawLanguageDriver extends XMLLanguageDriver {
33
34 @Override
35 public SqlSource createSqlSource(Configuration configuration, XNode script, Class<?> parameterType) {
36 SqlSource source = super.createSqlSource(configuration, script, parameterType);
37 checkIsNotDynamic(source);
38 return source;
39 }
40
41 @Override
42 public SqlSource createSqlSource(Configuration configuration, String script, Class<?> parameterType) {
43 SqlSource source = super.createSqlSource(configuration, script, parameterType);
44 checkIsNotDynamic(source);
45 return source;
46 }
47
48 private void checkIsNotDynamic(SqlSource source) {
49 if (!RawSqlSource.class.equals(source.getClass())) {
50 throw new BuilderException("Dynamic content is not allowed when using RAW language");
51 }
52 }
53
54 }